3

私は静的ライブラリとサンプルアプリに取り組んでいます。この静的ライブラリとサンプルアプリを開始しXcode 6.1.1たので、このバージョンの Xcode でまったく問題なく動作していました。

先週 Xcode を 6.3 に更新したとき、サンプル アプリが提供を開始し、スタティック ライブラリlexical or preprocessor issueのエントリ クラス ファイルを認識しません。私は何も変更しませんでしたが、それでも問題なく動作しますXcode 6.1.1

更新Static Libraryと のビルド設定のスクリーンショットは次のとおりです。Test APP

静的ライブラリ-->

静的ライブラリ

静的ライブラリのビルド フェーズ -->

ここに画像の説明を入力 アプリのテスト -->

アプリのテスト

テスト アプリのビルド フェーズ。 ここに画像の説明を入力

以下のような新しいコンパイル時エラーが発生しています... ここに画像の説明を入力

画像内の上記のクラスは、別のライブラリ (A など) に含まれている静的ライブラリ (B など) のクラスです。このパッケージはテスト アプリに含まれています。

そして、これは私のヘッダーとユーザー検索パスがそれぞれどのように見えるかです... ヘッダー検索パス

ここに画像の説明を入力

4

4 に答える 4

3
file was built for archive which is not the architecture being linked (i386)

このエラーは、

静的ライブラリには、テスト アプリが使用しているアーキテクチャ (i386) 用のバイナリがないため、ライブラリとリンクできません。

armv7最初の画像はこれを確認します -とのためだけに静的ライブラリを構築していますarm64

シミュレーターで Test App を実行しようとしていますか? デバイスで実行するように変更してみてください。これにより、アーキテクチャ リンク エラーが解消されるはずです。シミュレーターで実行するには、スタティック ライブラリ (通常はi386および/またはx86_64) のシミュレーター バイナリをコンパイルする必要があります。

于 2015-06-02T13:40:38.090 に答える
2

User Header Search Pathsメイン アプリのand/orHeader Search Pathsビルド設定の下に、スタティック ライブラリのプロジェクト ディレクトリへのパスが含まれていることを確認します。パスをrecursiveに設定して、すべてのヘッダーが確実に検出されるようにします。

于 2015-06-01T16:59:05.737 に答える
1

少し前に同様の問題に遭遇しました。

解決策 #1 コード分析を実行してみてください: XCode -> 製品 > 分析 https://developer.apple.com/library/ios/recipes/xcode_help-source_editor/chapters/Analyze.html

解決策 #2 現在のプロジェクトからファイルをコピーして、新しいプロジェクトから段階的にプロジェクトを再作成してみてください。おそらく、ある段階で同じ問題が発生する可能性があるため、問題を特定することができます。

于 2015-06-01T09:37:56.367 に答える