2015-11-03 16 views
6

を逃す私はuodate用に再コンパイルすることを、古いプロジェクトを持っている、そしてそれが今、このエラーメッセージが表示されます。必要なアーキテクチャはx86_64に

…. missing required architecture x86_64 in file myLibrary.a …. 

私が検索した後、ネット上で見つけることができる様々なトリックを試してみましたmissing required architecture x86_64 in fileにありますが、成功しません。誰もが問題を適切に処理する方法を知っていますか?

私はXcodeバージョン7.0.1を使用しています。

実行:

lipo -info myLibrary.a 

ショー:

Architectures in the fat file: myLibrary.a are: armv7 arm64 

私はarmv7sではなく、x86_64版を追加することができました。

+0

には、64ビットを含む標準アーキテクチャが含まれています)(armv7、armv7s、arm64) –

答えて

4

ユニバーサルライブラリを構築しようとしていて、その中にすべてのアーキテクチャがありませんarmv7 armv7s i386 x86_64 arm64。 64ビットアーキテクチャでビルドすると、コンパイラは不平を言っています。

enter image description here

これは、アーキテクチャの手動追加を必要とするこのような何か:

enter image description here

ビルド静的ライブラリプロジェクトのあなたのアーキテクチャの設定に以下を追加します - これを修正するには

これらのアーキテクチャを備えたライブラリ&シミュレータ、を使用してファットライブラリを作成する3210と使用してください。

+0

ありがとう。それは少なくとも特定のポイントまで動作します。 実行:myLibrary.a -info リポは今示しています。脂肪のファイルに アーキテクチャ:i386ののARMv7 armv7s x86_64版arm64 しかし、私は今、この警告を得る:myLibrary.aは LD:警告:オブジェクトファイル(myLibrary.aを(myLibrary.o))は、リンクされているバージョン(6.0)よりも新しいiOSバージョン(7.0)用に作成されました。 それは意味がありますが、iOSデプロイメントターゲットを6.0から7.0に変更しても、そこにとどまります。私は何が欠けていますか? – Michel

+0

ライブラリが作成された最小iOSバージョンのようなサウンドは、コンシューマアプリケーションで使用されているiOSバージョンよりも大きいです。ライブラリを構築する際(デバイスとシミュレータの両方で)、**最小展開ターゲット**を** 6.0 **に設定します。 – Abhinav

+0

iOS Deployment Targetを7.0に設定してライブラリを構築しました。最小展開ターゲットは表示されません。 – Michel

関連する問題