1

デバイスを選択してコンパイルしたXcodeで静的ライブラリを作成しました。

これを Xcode 4.6 のライブラリ テスト プロジェクトに追加しました。

しかし、リンク中に常に2つのエラーが発生します...

私はこのチュートリアルに従いました:静的ライブラリ iOS チュートリアル

サンプル コードをダウンロードすると、同じエラーが発生します。

ld: 警告: ファイル /Users/Downloads/ICodeBlogStaticLibrarySample/MathTest/Classes/iCodeBlogsMathLibrary/libICodeMathUtils.a を無視し、ファイル /Users/Downloads/ICodeBlogStaticLibrarySample/MathTest/Classes/iCodeBlogsMathLibrary/libICodeMathUtils.a に必要なアーキテクチャ i386 がありません (2 スライス) 未定義アーキテクチャ i386 のシンボル: "_OBJC_CLASS_$_MathFunctions"、参照元: MathTestAppDelegate.o ld の objc-class-ref: アーキテクチャ i386 のシンボルが見つかりません。clang: エラー: リンカー コマンドが終了コード 1 で失敗しました (-v を使用して呼び出しを参照)

4

4 に答える 4

1

私はかつて静的ライブラリを作成していましたが、同じ問題がありました。解決策は、シミュレーターではなく「デバイスでアプリを実行する」ことでした。その後、正常に動作します!!! お役に立てれば...

于 2013-02-05T18:30:22.843 に答える
1

このステップバイステップのチュートリアルに従いました:

チュートリアル

特に、次のフラグを追加する必要が-ObjCありました。-all_load

于 2013-02-06T13:20:22.713 に答える
0

エラー メッセージを読んで理解してください。意味のある英語のフレーズです。

アーキテクチャ i386 のシンボルが見つかりません

そのため、ライブラリには i386 アーキテクチャ用にコンパイルされたコードはありません。これは、ARM のみ (iPhone や iPad などの実際の iOS デバイス用)、または 64 ビット シミュレーター (x86_64) 用にコンパイルされていることを意味します。otoolライブラリに存在するアーキテクチャを見つけるために使用します。

于 2013-02-05T18:14:22.280 に答える