Qt从Xcode 8开始不起作用

Bob*_*421 22 qt xcode8

自Xcode 8安装以来,我在创建Qt Console Project时遇到了这个错误:

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

我重新安装了Qt和Qt Creator.我已经阅读了很多类似的帖子,运行xcode-select和东西.这很疯狂,没有什么可做的,仍然是同样的错误.

我想知道Qt究竟对Xcode做了什么?

(这是Qt 5.7)

Luc*_*oni 22

目前,直到Qt更新这是一个修复:

第1步:

打开文件:

<Qt installation folder>/5.7/clang_64/mkspecs/features/mac/default_pre.prf
Run Code Online (Sandbox Code Playgroud)

第2步:

更换:

isEmpty($$list($$system("/usr/bin/xcrun -find xcrun 2>/dev/null")))
Run Code Online (Sandbox Code Playgroud)

附:

isEmpty($$list($$system("/usr/bin/xcrun -find xcodebuild 2>/dev/null")))
Run Code Online (Sandbox Code Playgroud)

  • 如果要从源代码树构建Qt,还需要同样修补`configure`文件.在Qt中修复此问题的提交是https://codereview.qt-project.org/gitweb?p=qt/qtbase.git;a=commitdiff;h=77a71c32c9d19b87f79b208929e71282e8d8b5d9 (4认同)

Yev*_*hev 22

为了避免错误'当前iPhone SDK版本(10.0)太旧了.请升级Xcode.' 在为iOS构建时,除了将'xcrun'更改为'xcodebuild'(如Luca Angioloni所说)之外,还需要将最小sdk版本更改为"10.0".打开文件:

<Qt installation folder>/5.7/ios/mkspecs/macx-ios-clang/features/sdk.prf
Run Code Online (Sandbox Code Playgroud)

并替换:

lessThan(QMAKE_MAC_SDK_VERSION, "8.0"):
Run Code Online (Sandbox Code Playgroud)

附:

lessThan(QMAKE_MAC_SDK_VERSION, "10.0"):
Run Code Online (Sandbox Code Playgroud)

UPD: Qt 5.7.1已经使用xcode 8了,只需将你的Qt更新到这个(或更高版本)


小智 8

只是为了完成Yevgeniy Logachev的答案,你必须使用Luca的解决方案但是对于iOS路径,如果你想为iOS设备编译:

<Qt installation folder>/5.7/ios/mkspecs/features/mac/default_pre.prf