質問

Xcode 4 Final(3. -Latestと4 GMを使用していた時間を使用していた)まで、これは起こりませんでした。 XCode 4 Finalバージョンにアップグレードしたとき、ARMV7バージョンをARMV7ライブラリにリンクしようとするときにリンクエラーの取得を開始しました(プロジェクトはデフォルトのARMV6 ARMV7有効アーキテクチャで設定されています):

ld: warning: ignoring file ../bin/iOS static/arm/libssl.a, file was built for archive which is not the architecture being linked (armv7)
ld: warning: ignoring file ../bin/iOS static/arm/libcrypto.a, file was built for archive which is not the architecture being linked (armv7)
Undefined symbols for architecture armv7: -- list of symbols --

ARMV6バージョンは正常にコンパイルされますが、全体的なコンピレーションプロセスは77のリンクエラーで失敗します。

これは予想される動作であると理解しており、ARMv6 Libを使用してARMv7にリンクしません。修正は、私のプロジェクトをARMv6のみに設定することです。ここでの私の質問は、なぜこれがXcodeの以前のバージョンで機能していたのですか?

ARMv6のみに設定した場合、この警告を受け取り始めます。

Check dependencies

[BWARN]warning: all apps should include an armv7 architecture (current ARCHS = "armv6").

私は警告を見るのが好きではありません:-)誰かが同様の問題を抱えていますか?

ありがとう、

フェルナンド

役に立ちましたか?

解決

プロジェクト] - > [Build Setting-]> [アーキテクチャ]タブで、Build Active Architectureを「はい」にしました。

他のヒント

iOS SDK 4.3では、リンカーはARMV7バイナリでARMV6ライブラリの使用を単に拒否しているようです。これは以前には当てはまりませんでした。

だから私は更新しなければなりませんでした http://code.google.com/p/ios-static-libraries/ ライブラリのARMV6バージョンとARMV7バージョンの両方を生成するプロジェクト。

プロジェクトにいくつかのデモクラスを含むサードパーティのフレームワークを追加しましたが、それを実装すると、それらのデモクラスを削除しましたが、それ以来エラーが発生し始めましたエラー「LD:.........、ファイルは普遍的ですが、アーキテクチャARMv6用の(n)armv6スライスは含まれていません」

一日中頭を掻いた後、私は翌朝この解決策を見つけたかもしれませんが、仲間のiPhoneの仲間のために役立つかもしれません私は痛みを知っています

ターゲット - >「プロジェクトターゲット」 - >情報を取得 - >アクティブアーキテクチャをビルドしては、はいに設定されています

それでおしまい..

同じ問題がありました。しかし、その理由は異なっていたと思います。シミュレーター用に構築されたファイルを使用していて、デバイスで実行しようとしています。シミュレーターとデバイスには異なるファイルが必要であることがわかりました。これが誰かを助けることを願っています;)

これがXcode 4の最終バージョンでのみ発生し始めた理由はまだわかりませんが、数日前にGoogleコードプロジェクトで外部LIBS(SSLとCrypto)がARMV6とARMV7の両方に対してコンパイルされていることがわかりました。

http://code.google.com/p/ios-static-libraries/

これにより、2つの異なるライブラリ検索パスを定義すると、ARMV6用の1つ、ARMV7用の1つが定義されている場合に問題が修正されます。

ありがとう、

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top