0

llvm-g++-4.2 を使用して、コマンド ラインから静的ライブラリをコンパイルしました。そのライブラリにリンクして XCode 内でアプリをビルドしようとすると、次のようになります。

Undefined symbols for architecture armv7: (null): "__ZN12NamespaceOne5NamespaceTwo10NamespaceThree11functionEPDv2_x", referenced from: ...

(実際の名前空間と関数名を難読化していることに注意してください)

nm を使用してライブラリを見ると、次のように表示されます。

000007cc T __ZN12NamespaceOne5NamespaceTwo10NamespaceThree11functionEPU8__vectorx

メソッドは定義されていますが、マングルされた名前は最後にわずかに異なります。XCode (clang++ を使用している) が私の llvm-g++-4.2 ライブラリを気に入らないのですか?

4

2 に答える 2

0

このライブラリは C++ コードであり、Objective-C (または C) ファイルからアクセスしようとしていると思います。「C++」ファイル (xxx.cc) または Objective-C++ (xxx.mm) クラスを使用して、ある種のバッファを作成する必要があります。

于 2013-05-17T17:57:10.077 に答える