1

デバイス用にコンパイルすると、次のエラーが発生します

File is universal (3 slices) but does not contain a(n) armv7s slice: /Users/xxx/Desktop/xxxxxxx/DropboxSDK.framework/DropboxSDK for architecture armv7s clang: error: linker command failed with exit code 1 (use -v to see invocation)

すべての .m ファイルがリンクされていることを確認しましたが、すべて問題ありません。なぜデバイスでのみこれを行うのですか?

4

1 に答える 1

5

「armv7s」は、iPhone 5 の新しい ARM プロセッサでサポートされている命令セットです。Xcode 4.5 はデフォルトで、armv7 と armv7s のバイナリを生成します。

リンカー エラーは、アプリが armv7 および armv7s (およびシミュレーターの i386) 用にコンパイルされているが、armv7s コードを含まない DropboxSDK フレームワークにリンクされていることを意味します。

したがって、次のオプションがあります。

  • 最新の DropboxSDK フレームワークをダウンロードしてインストールします。CHANGELOGによると、iPhone 5 のサポートが追加されました。
  • 「armv7」専用にアプリをコンパイルします。これは、ターゲットの「ビルド設定」の「アーキテクチャ」で構成されます。

あなたは「Dropbox を参照する lib がない」と言いました。ただし、そのライブラリへの参照が必要です。そうしないと、リンカーは文句を言いません。ターゲット設定の「ビルドフェーズ」タブの「バイナリとライブラリのリンク」セクションで確認できます。

于 2012-09-29T14:00:14.113 に答える