web-dev-qa-db-ja.com

Qt5ターゲット条件が見つかりません

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のパラメーターのどこでこれを変更できますか?

38
BRabbit27

.proファイルに次の行を追加して、プロジェクトをコンパイルすることもできます。

QMAKE_MAC_SDK = macosx10.9
25
BRabbit27

他の人の参考のために、プラットフォームの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を再度実行してください。

ニック。

81

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
10
Pablo Diaz

OS X以外のプラットフォームでコンパイルする場合、BRabbit27ソリューションの改善点は次のとおりです。

macx {
QMAKE_MAC_SDK = macosx10.9
}
10
asam

Qt 5.5、MacOS 10.10.4でも同じ問題がありました。プロジェクトディレクトリから.qmake.confと.qmake.stashを削除しました。

8
ceed

プロジェクトルートのファイル「.qmake.cache」がMac OS 10.8を参照していることがわかりました。解決策は、ファイルを削除し、プロジェクトをゼロからビルドすることでした。

6
Ralf Wirth

私にとっては、出力ディレクトリのコンテンツを手動で削除すると、問題が修正されました(Qt 5.9、Xcode9、MacOS 10.12.6)。クリーニング/再構築により、破損したものがいくつか残っていました。

3
memcpy

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

私はそれがあなたのために働くことを望みます。

3
mandroid

私は自分の経験を加えてこれについてコメントしたかっただけです。最近、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バージョンを選択させます。これ以前は、古いバージョンのものを使用しようとしていたと思います。そのため、プロジェクト内の古いものへの参照をすべて削除し、新しいものを選択することが重要です。

0
Wild Bill

Macosx10.13でQt5.8を使用しています。次の行を追加して、ファイル/usr/local/Cellar/qt-legacy-formula/5.8.0_1/mkspecs/qdevice.priを編集することでこの問題を解決しました。

!Host_build:QMAKE_MAC_SDK = macosx10.13
0
IGUIDER Walid

方法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
0
Zam

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
0
Libor B.