Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Qt Creator - Project ERROR: Xcode not set up properly. You may need to confirm the license agreement by running /usr/bin/xcodebuild

>= Xcode 8

In Xcode 8, as Bruce said, this happens when Qt tries to find xcrun when it should be looking for xcodebuild.

Open the file:

Qt_install_folder/5.7/clang_64/mkspecs/features/mac/default_pre.prf

Replace:

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

With:

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

~> Xcode 8

Before Xcode 8, this problem occurs when command line tools are installed after Xcode is installed. What happens is the Xcode-select developer directory gets pointed to /Library/Developer/CommandLineTools.

Point Xcode-select to the correct Xcode Developer directory with the command:

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

Confirm the license agreement with the command:

sudo xcodebuild -license

This will prompt you to read through the license agreement.

Enter agree to accept the terms.


If you change content of Qt_install_folder/5.7/clang_64/mkspecs/features/mac/default_pre.prf then it will work only for Desktop kit, not for ex. simulator.

A better way is just to create symlink:

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

so you don't have to change .prf files for all targets.


This will do the trick:

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

Run this in your terminal.


For users of Xcode 8, there is another problem. See here for a temporary solution until Qt 5.7.1 is released:

https://forum.qt.io/topic/71119/project-error-xcode-not-set-up-properly

To summarise:

Open Qt_install_folder/5.7/clang_64/mkspecs/features/mac/default_pre.prf in a text editor, and replace this:

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

with this:

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

If you build Qt from source with XCode 8.x, you have to change the "-find" argument in the file qt-everywhere-enterprise-src-5.7.0/qtbase/configure on line 551 so that it looks like:

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

Managed to solve it installing the full version of Xcode, agreeing to the terms, then using xcode-select --reset.

Basically the problem is that the xcode you're pointing at /Library/Developer/CommandLineTools doesn't allow you to accept the terms & conditions. So after the install & resetting the location, all should be OK