1
私は静的ライブラリを持っています。静的ライブラリには、静的ライブラリがあります。
LibAとLibBとしましょう。 012BLibAは外向きのライブラリです。つまり、LibAはLibBを内部的に呼び出し、LibBは外向きの関数呼び出しを持ちません。
LibAのヘッダーはextern Cなので、名前が変わってしまうことはありません。
私はSwiftを使用してこのライブラリをテストしており、完璧に動作します。私はLIBAとLibBの両方が、アーキテクチャはx86_64用に構築されていることを確認してきた
静的ライブラリの使用
"_OBJC_CLASS_$_UIResponder", referenced from:
_OBJC_CLASS_$_AppDelegate in AppDelegate.o
"_OBJC_CLASS_$_UIViewController", referenced from:
_OBJC_CLASS_$_ViewController in ViewController.o
"_OBJC_METACLASS_$_UIResponder", referenced from:
_OBJC_METACLASS_$_AppDelegate in AppDelegate.o
"_OBJC_METACLASS_$_UIViewController", referenced from:
_OBJC_METACLASS_$_ViewController in ViewController.o
"_UIApplicationMain", referenced from:
_main in main.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
:私がobj-Cプロジェクトの内部でそれを使用しようとすると、
はしかし、私は次のエラーを取得します。
何か助けていただければ幸いです。
編集:私はこの問題を解決することができました。ビルド段階では、リンクバイナリライブラリにUIKit.frameworkを追加する必要がありました。これでエラーが修正され、私のライブラリを使用することができました。お手伝いありがとう!
不満を表明しているシンボルは、UIKitからのものです。私はあなたのライブラリではなくあなたの実際のアプリに関連していると思います。 –
〜/ライブラリ/ Developer/Xcode/DerivedData /から派生データを削除してから、再度ビルドしてください。それがうまくいくことを望みます。 –
これは、UIKitがプロジェクト内でリンクされていないようです。それが大きなプロジェクトでリンクされているか、リンクされたライブラリから依存関係を削除してください。動的なフレームワークに移行することを強くお勧めします。 –