我刚刚安装了Qt 5.5并且在OS X上第一次使用Qt Creator。当我第一次安装Qt时,它给了我一条错误消息'Xcode 5 not installed'我觉得很奇怪,(我有Xcode) 7 beta),但安装成功完成。
现在,当我启动或打开一个项目时,我收到错误:
项目错误:Xcode未正确设置。您可能需要运行/ usr / bin / xcodebuild来确认许可协议。
当我在终端中运行/usr/bin/xcodebuild
时,我得到以下内容:
xcode-select:错误:工具'xcodebuild'需要Xcode,但活动开发人员目录'/ Library / Developer / CommandLineTools'是命令行工具实例
我不确定Xcode与Qt Creator有什么关系,除非它与访问库以实现跨平台兼容性有关,但有没有办法解决这个问题?
答案 0 :(得分:263)
> = Xcode 8
在Xcode 8中,正如Bruce所说,当Qt试图找到xcrun
时,会发生这种情况。{/ 1>}。
打开文件:
xcodebuild
替换:
Qt_install_folder/5.7/clang_64/mkspecs/features/mac/default_pre.prf
使用:
isEmpty($$list($$system("/usr/bin/xcrun -find xcrun 2>/dev/null")))
〜> Xcode 8
在Xcode 8之前,在安装Xcode之后安装命令行工具时会出现此问题。会发生什么是isEmpty($$list($$system("/usr/bin/xcrun -find xcodebuild 2>/dev/null")))
开发人员目录指向Xcode-select
。
使用以下命令将/Library/Developer/CommandLineTools
指向正确的Xcode Developer目录:
Xcode-select
使用以下命令确认许可协议:
sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer
这将提示您阅读许可协议。
输入sudo xcodebuild -license
接受条款。
答案 1 :(得分:77)
如果您更改Qt_install_folder/5.7/clang_64/mkspecs/features/mac/default_pre.prf
的内容
那么它只适用于桌面工具包,而不适用于ex。模拟器。
更好的方法是创建符号链接:
cd /Applications/Xcode.app/Contents/Developer/usr/bin/
sudo ln -s xcodebuild xcrun
因此您无需为所有目标更改.prf文件。
答案 2 :(得分:22)
这样可以解决问题:
#sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer
在终端中运行。
答案 3 :(得分:11)
对于Xcode 8的用户,还有另一个问题。在Qt 5.7.1发布之前,请参见此处获取临时解决方案:
https://forum.qt.io/topic/71119/project-error-xcode-not-set-up-properly
总结:
在文本编辑器中打开Qt_install_folder/5.7/clang_64/mkspecs/features/mac/default_pre.prf
,然后将其替换为:
isEmpty($$list($$system("/usr/bin/xcrun -find xcrun 2>/dev/null"))))
用这个:
isEmpty($$list($$system("/usr/bin/xcrun -find xcodebuild 2>/dev/null")))
答案 4 :(得分:2)
如果您使用XCode 8.x从源代码构建Qt,则必须更改" -find"第551行的文件qt-everywhere-enterprise-src-5.7.0/qtbase/configure
中的参数如下所示:
if ! /usr/bin/xcrun -find xcodebuild >/dev/null 2>&1; then
答案 5 :(得分:1)
设法解决该问题,安装了完整版本的Xcode,同意条款,然后使用xcode-select --reset
。
基本上,问题在于您指向/Library/Developer/CommandLineTools
的xcode不允许您接受条款和条件。因此,在安装并重置位置后,一切都应该可以
答案 6 :(得分:0)
对我来说,正确工作的唯一方法是用'#'来评论xcrun的界限:
# Make sure Xcode is set up properly
#isEmpty($$list($$system("/usr/bin/xcrun -find xcrun 2>/dev/null"))): \
#error("Xcode not set up properly. You may need to confirm the license agreement by running /usr/bin/xcodebuild.")
在文件中:Qt_install_folder / 5.7 / clang_64 / mkspecs / features / mac / default_pre.prf
答案 7 :(得分:0)
本着“对我有用”的精神,在许多旧答案中添加一些内容 我发现通过启动Xcode,登录到我的开发人员帐户(只是一个免费帐户),然后在“位置”中设置命令工具。 我可以得到
'sudo / usr / bin / xcodebuild -license同意'
上班。也就是说,它在命令行中启动了一个同意程序,在仔细阅读了所有14兆页面的内容之后,我同意了。
我不必编辑任何内容。
我的系统是Mojave 10.14.6和Xcode 10.3(10G8)。