OS X Mavericksのコマンドラインツールの最新バージョンに更新したところ、(以前は動作していた)コードをコンパイルすると、次のエラーがスローされます
> clang: warning: no such sysroot directory:
> '/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk'
> In file included from ../QtOpenGL/Main.cpp:1: In file included from
> ../../Qt/5.3/clang_64/lib/QtWidgets.framework/Versions/5/Headers/QApplication:1:
> In file included from
> ../../Qt/5.3/clang_64/lib/QtWidgets.framework/Versions/5/Headers/qapplication.h:45:
> In file included from
> /Users/BB/Qt/5.3/clang_64/lib/QtCore.framework/Headers/qcoreapplication.h:45:
> In file included from
> /Users/BB/Qt/5.3/clang_64/lib/QtCore.framework/Headers/qglobal.h:76:
> /Users/BB/Qt/5.3/clang_64/lib/QtCore.framework/Headers/qsystemdetection.h:196:12:
> fatal error: 'TargetConditionals.h' file not found
> # include <TargetConditionals.h>
> ^ 1 error generated. make: *** [Main.o] Error 1 20:29:52: Le processus "/usr/bin/make" s'est terminé avec le code 2. Erreur lors
> de la compilation/déploiement du projet QtOpenGL (kit : Desktop Qt
> 5.3.0 clang 64bit) When executing step "Make"
この行を変更すると誰もが知っていますか
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk
sDK 8から9が機能しますか?その場合、Qt5のパラメーターのどこでこれを変更できますか?
.pro
ファイルに次の行を追加して、プロジェクトをコンパイルすることもできます。
QMAKE_MAC_SDK = macosx10.9
他の人の参考のために、プラットフォームのmkspecファイルを編集して問題を解決しました。
/users/nic/Qt/5.3/clang_64/mkspecs/qdevice.pri
次の行を変更します。
!Host_build:QMAKE_MAC_SDK = macosx10.8
これに:
!Host_build:QMAKE_MAC_SDK = macosx10.9
プロジェクトをクリーンアップして、qmakeを再度実行してください。
ニック。
XCode 9にアップグレードしたばかりで、macOS Sierra(10.12)でこの問題が発生し始めました。問題は、Xcodeがデフォルトのシンボリックリンクを10.13に移動したことです。修正するには:
cd /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs
Sudo ln -s MacOSX.sdk MacOSX10.12.sdk
OS X以外のプラットフォームでコンパイルする場合、BRabbit27ソリューションの改善点は次のとおりです。
macx {
QMAKE_MAC_SDK = macosx10.9
}
Qt 5.5、MacOS 10.10.4でも同じ問題がありました。プロジェクトディレクトリから.qmake.confと.qmake.stashを削除しました。
プロジェクトルートのファイル「.qmake.cache」がMac OS 10.8を参照していることがわかりました。解決策は、ファイルを削除し、プロジェクトをゼロからビルドすることでした。
私にとっては、出力ディレクトリのコンテンツを手動で削除すると、問題が修正されました(Qt 5.9、Xcode9、MacOS 10.12.6)。クリーニング/再構築により、破損したものがいくつか残っていました。
Xcode 10.13をインストールする前にQt 5.9.1をインストールしました。 Xcodeをアップグレードしたため、次の警告を含むエラーメッセージが表示され始めました。
:-1: warning: no such sysroot directory: '/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk' [-Wmissing-sysroot]
次の行を変更する問題を解決しました
QMAKE_MAC_SDK = macosx
に
QMAKE_MAC_SDK = macosx10.13
次のファイル:
path_where_I_installed_qt/Qt/5.9.1/clang_64/mkspecs/qdevice.pri
私はそれがあなたのために働くことを望みます。
私は自分の経験を加えてこれについてコメントしたかっただけです。最近、High Sierra、XCode 9.2、およびQt5.10に更新しましたが、XCodeのライセンスメッセージに悩まされていました。
Qdevice.priで変更しました
QMAKE_MAC_SDK = macosx
に
QMAKE_MAC_SDK = macosz10.13
しかし、私が必要としたのはそれだけではありませんでした。ビルドディレクトリから.qmake.stashファイルとMakefileファイルを削除する必要がありました。 Makefileを削除する必要があるかどうかはわかりませんが、とにかく削除しました。その後、QtCreatorで強制的に再構成できるように、*。pro.userファイルを削除しました。それは私を強制するか、更新されたQtバージョンを選択させます。これ以前は、古いバージョンのものを使用しようとしていたと思います。そのため、プロジェクト内の古いものへの参照をすべて削除し、新しいものを選択することが重要です。
Macosx10.13でQt5.8を使用しています。次の行を追加して、ファイル/usr/local/Cellar/qt-legacy-formula/5.8.0_1/mkspecs/qdevice.priを編集することでこの問題を解決しました。
!Host_build:QMAKE_MAC_SDK = macosx10.13
方法1
この種のエラーは、Xcodeをアップグレードするたびに表示されます
ビルドする前にqtでキャッシュファイルを削除するか、エラーが発生したときに削除することができます
rm {your target build folder}/.qmake.stash
または
rm {your project folder}/.qmake.stash
どこにあるかわからない場合は.qmake.stash
、試してください
find ~ -name .qmake.stash
方法2
Xcdoe APPを使用するとビルドエラーが発生する可能性があるため、お勧めしません
iphoneOS
cd /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/
Sudo ln -s iPhoneOS.sdk iPhoneOS{version}.sdk
iPhoneシミュレータ
cd /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/
Sudo ln -s iPhoneSimulator.sdk iPhoneSimulator{version}.sdk
Qt 5.8およびiOSビルドの場合、XCodeフォルダーのSDKにシンボリックリンクを追加しました。
cd /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs
ln -s iPhoneOS.sdk iPhoneOS10.0.sdk
cd /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs
ln -s iPhoneSimulator.sdk/ iPhoneSimulator10.2.sdk