Qt Creator-Project ERROR: Xcode 未正确设置。您可能需要通过运行/usr/bin/xcodebuild 来确认许可协议

我刚刚安装了 Qt 5.5,我第一次在 OS X 上使用 Qt Creator。当我第一次安装 Qt 时,它给了我一个错误消息‘ Xcode 5 not install’,我认为这很奇怪(我有 Xcode 7 beta) ,但是安装还是成功完成了。

现在,当我开始或打开一个项目时,我会得到一个错误:

项目错误: Xcode 设置不正确。您可能需要通过运行/usr/bin/xcodebuild 来确认许可协议。

当我在 Terminal 中运行 /usr/bin/xcodebuild时,我得到以下结果:

工具“ xcodebuild”需要 Xcode,但是活动开发人员目录“/Library/Developer/CommandLineTools”是一个命令行工具实例

我不确定 Xcode 与 Qt Creator 有什么关系,除非它与访问库以获得跨平台兼容性有关,但是有没有办法解决这个问题呢?

61185 次浏览

This will do the trick:

#sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer

在你的终端里运行这个。

> = Xcode 8

In Xcode 8, as Bruce said, this happens when Qt tries to find xcrun when it should be looking for 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")))

配合:

isEmpty($$list($$system("/usr/bin/xcrun -find xcodebuild 2>/dev/null")))

~ > Xcode 8

在 Xcode 8之前,在安装 Xcode 之后安装命令行工具时会出现此问题。发生的情况是 Xcode-select开发人员目录被指向 /Library/Developer/CommandLineTools

使用以下命令将 Xcode-select指向正确的 Xcode Developer 目录:

sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer

使用以下命令确认许可协议:

sudo xcodebuild -license

这将提示您通读许可协议。

输入 agree以接受条款。

对于 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")))

如果您更改 Qt_install_folder/5.7/clang_64/mkspecs/features/mac/default_pre.prf的内容 那么它将只适用于桌面工具包,而不是前。模拟器。

更好的方法是创建 symlink:

cd /Applications/Xcode.app/Contents/Developer/usr/bin/
sudo ln -s xcodebuild xcrun

这样就不必为所有目标更改.prf 文件。

对我来说,正确工作的唯一方法是使用“ #”注释关于 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 _ file/5.7/clang _ 64/mkspecs/properties/mac/default _ pre. prf

如果使用 XCode 8.x 从源代码构建 Qt,则必须更改第551行 qt-everywhere-enterprise-src-5.7.0/qtbase/configure文件中的“-find”参数,使其看起来像:

if ! /usr/bin/xcrun -find xcodebuild >/dev/null 2>&1; then

设法解决它安装完整版本的 Xcode,同意的条款,然后使用 xcode-select --reset

基本上,问题在于您指向 /Library/Developer/CommandLineTools的 xcode 不允许您接受条款和条件。所以在安装和重置位置之后,一切都应该没问题

本着“这对我有用”的精神,我只是想给这些老问题加点料 我发现,通过启动 Xcode,登录到我的开发人员帐户(只是一个免费的帐户) ,然后在“ Locations”中设置 Command 工具。 我可以

“ sudo/usr/bin/xcodebuild-許可同意”

to work. i.e. it launched an agree process in the command line and I agreed after careful reading of all 14 squillion pages of stuff.

我不需要编辑任何东西。

我的系统是 Mojave 10.14.6和 Xcode 10.3(10G8)。