3

私は xcode 4.5 を使用しています。ベース SDK は 6.0 で、デプロイ ターゲットは 5.1 です。リリースまたはプロファイリング用にビルドしようとすると、この小さな宝石のようなエラーが発生します。

ld: file is universal (4 slices) but does not contain a(n) armv7s slice: /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.1.sdk/usr/lib/crt1.3.1.o for architecture armv7s
clang: error: linker command failed with exit code 1 (use -v to see invocation)

今....

このメッセージがstackoverflowに投稿されているのを見たことがありますが、まだ賢明ではありません。

大騒ぎを引き起こしているこの crt1.2.1.o は正確には何ですか? エラーを殺すために何らかの方法で変更できますか? 最後に、アクティブなアーキテクチャのみにビルドを設定することをお勧めします。これを行うことの意味は何ですか?

ありがとう

4

2 に答える 2

7

crt1.3.1.o ファイルには、C ランタイム ライブラリのスタートアップ コードが含まれています。これにより、ランタイムが初期化され、グローバル初期化子が呼び出され、最後にmain関数が呼び出されます。

プロジェクトの設定に問題があるはずです。armv7s 用にもコンパイルしていますが、ライブラリは、armv7s アーキテクチャをまだサポートしていない iOS 5.1 SDK からリンクされています。

于 2013-02-08T11:20:57.503 に答える
1

これと同じ問題がありました。ビルド設定で有効なアーキテクチャからarmv7を削除し、armv7のみを残しました。その後、プロジェクトをアーカイブできました

于 2013-03-05T09:36:03.070 に答える