Qt Creator - 项目错误:Xcode未正确设置。您可能需要运行/ usr / bin / xcodebuild

时间:2015-11-16 05:12:38

标签: c++ xcode macos qt qt-creator

我刚刚安装了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有什么关系,除非它与访问库以实现跨平台兼容性有关,但有没有办法解决这个问题?

8 个答案:

答案 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)。