基本的なObjective-C++ファイル内からCocoaFramework(具体的には、MultitouchSupport)を使用しようとしていますが、g ++がgccとは異なるリンカーフラグを持っているかのように、未定義のシンボルエラーが発生し続けます。
私の最終的な目標は、C ++ネットワークライブラリを、 http://steike.com/code/multitouch/から入手した基本的なObjective-Cコードと統合することです。
これを実行して元のコードをコンパイルすると、正常に機能します。
gcc -F/System/Library/PrivateFrameworks -framework MultitouchSupport test.m -o test -std=c99
しかし、test.mm
後でC ++ファイルを含めて参照できるように、ファイルの名前をに変更すると、以下は機能しません。
g++ -F/System/Library/PrivateFrameworks -framework MultitouchSupport test.mm -o test
そして私にこれらのエラーを与えます:
Undefined symbols for architecture x86_64:
"MTDeviceCreateDefault()", referenced from:
_main in ccq0vzuM.o
"MTRegisterContactFrameCallback(void*, int (*)(int, Finger*, int, double, int))", referenced from:
_main in ccq0vzuM.o
"MTDeviceStart(void*, int)", referenced from:
_main in ccq0vzuM.o
ld: symbol(s) not found for architecture x86_64
collect2: ld returned 1 exit status
make: *** [testpp] Error 1
このObjective-C++ファイルで探しているフレームワークを確認してC++を使用できるようにするには、何をする必要がありますか?
ありがとう!