Qt4iOSとXcode4.2を使用しているプロジェクトをビルドしたいときにこのエラーが発生しました。
問題は、Qtでプロジェクトをビルドしていたときに、GCCコンパイラがx86に設定されていたことです。
そして、私がXcodeを使用しているシステムはx64ですが、昨日はすべて正常に機能していました。突然、このエラーが発生しました。そして、x64コンパイラでQtプロジェクトをビルドしようとしましたが、それでも同じエラーが発生します。
何が悪かったのか分かりますか?
あなたのコメントによると、シミュレーター用のアプリをビルドするために x86 コンパイラーを使用していないようです (ライブラリーは armv7 atm です)。
デバイス コンパイラの場合と同様に、シミュレータ コンパイラを Qt Creator ( にあり/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/g++
ます) に新しいツールチェーンとして追加し、次のシミュレータ ビルドに新しいツールチェーンを使用してみてください。
結果のライブラリを lipo で再度確認できます。
たぶん、指示に従うだけで役立つでしょうか?フォローしないと、全員の時間を無駄にします。特に、この質問は次のように回答されます。
「Qt4iOS SDK は 'ユニバーサル バイナリ' としてビルドされており、ARM (デバイス) と x86 (シミュレーター) の両方のターゲット用のリンク可能なオブジェクト コードが含まれています。アプリケーション プロジェクトをビルドするときは、デバイスまたはシミュレーター用にビルドする必要があります。 . シミュレータ用にビルドする場合、qmake を実行するときに mkspec を指定する必要があります。
Xcode 4.2.x (およびそれ以前):
/Developer/Qt4iOS/qt‐everywhere‐ios‐gles2‐4.8.1/bin/qmake animationtiles.pro –spec qpa/macx‐iossimulator‐clang‐legacy
Xcode 4.3.x (およびそれ以降):
/Developer/Qt4iOS/qt‐everywhere‐ios‐gles2‐4.8.1/bin/qmake animationtiles.pro –spec qpa/macx‐iossimulator-clang"