C++ファイルからObjective C関数を呼び出したいとします。 C++ファイル(Algebra.cpp)のObjective Cファイル(UnZip.h)にヘッダーをインクルードするとビルドが失敗しますか?それについてどうすればいいですか? Algebra.cppのMath.hへの参照をすべて削除しても、すべてがうまくいきます。 Algebra.cppの名前をAlgebra.mmに変更することはできません。別の場所で複数の場所で使用されているからです。C++ファイルからObjective Cヘッダーファイルを呼び出すにはどうすればよいですか?
ファイルMATH.H
void MathFormula(const char *sourceData, const char *answer);
ファイルMath.m
#import <Foundation/Foundation.h>
#import "MathDocument.h"
void MathFormula(const char *sourceFile, const char *answer)
{
NSString * sFile = [NSString stringWithUTF8String:sourceFile];
NSString * ans = [NSString stringWithUTF8String:answer];
MathDocument * mathDocument = [[MathDocument alloc] initWithPath:sFile];
[mathDocument runFormula:ans];
}
Algebra.cpp
#include ...
#include Math.h
{
---
const char * sourceFile = "/Users/u1/pckg.zip";
const char * destPath = "/Users/u1";
MathFormula(sourceFile, destPath);
---
}
C++とは、Objective-C++または普通のC++を意味しますか? –
私は普通のC++を意味していました。 – JayHawk
私の観察によれば、なぜあなたはそれを必要とするクラスで直接関数を作成することができます別のクラスを作成する単一の関数ですか? – CodeChanger