私のアプリケーションではという名前のCファイルにそのライブラリのABC.a
という静的ライブラリを使用しています。init()
という関数があります。ライブラリをプロジェクトにリンクして.h
ファイルを追加しました。プログラムはエラーなしでコンパイルされますが、関数をリンクするとエラーがスローされます。どうして?リンカーコマンドが終了コード1で失敗しました(呼び出しを見るために-vを使用してください)iOSエラー
Info:スタティックライブラリもビルド段階で追加しました。
また、ライブラリはarmv7、armv7s、およびarm64用に構築されています。ビットコード有効:いいえ、アクティブアーキテクチャビルド:NO
例エラー:
Undefined symbols for architecture arm64:
"AMID_INIT(int*, int*, int)", referenced from:
-[ViewController microphone:hasAudioReceived:withBufferSize:withNumberOfChannels:] in Test_lto.o
"amid_Val(float const*, int, int*, int, unsigned int)", referenced from:
-[ViewController microphone:hasAudioReceived:withBufferSize:withNumberOfChannels:] in Test_lto.o
は、このために行って2日間を助けてください。
ライブラリのヘッダーにはC++ガードがなく、目的のC++プログラムで使用しています。 'extern" C "{\ n#import 'lib.h' \ n}'に '#import 'lib.h''をラップして、それが役立つかどうかを調べてください。 – Petesh
これを試してください:あなたのアーキテクチャーと有効なアーキテクチャーが大丈夫ならば、他のリンカー・フラグに$(継承)を追加しているかどうかをチェックすることができます。 – KKRocks
@Peteshコメントは間違いありません。素晴らしい男。あなたは多くの時間を節約しました。ありがとう。私はそれを確認する答えを入れてください。 –