Qt Creator - Project ERROR: Xcode n'est pas configuré correctement. Vous devrez peut-être confirmer le contrat de licence en exécutant / usr / bin / xcodebuild

121

Je viens d'installer Qt 5.5 et j'utilise Qt Creator pour la première fois sur OS X. Lorsque j'ai installé Qt pour la première fois, il m'a donné un message d'erreur `` Xcode 5 non installé '' que j'ai trouvé étrange, (j'ai la version bêta de Xcode 7) , mais l'installation s'est terminée avec succès de toute façon.

Maintenant, lorsque je démarre ou ouvre un projet, j'obtiens l'erreur:

ERREUR de projet: Xcode n'est pas configuré correctement. Vous devrez peut-être confirmer le contrat de licence en exécutant / usr / bin / xcodebuild.

Lorsque je cours /usr/bin/xcodebuilddans Terminal, j'obtiens ce qui suit:

xcode-select: erreur: l'outil 'xcodebuild' nécessite Xcode, mais le répertoire de développement actif '/ Library / Developer / CommandLineTools' est une instance d'outils de ligne de commande

Je ne suis pas sûr de ce que Xcode a à voir avec Qt Creator, sauf si cela a quelque chose à voir avec l'accès aux bibliothèques pour la compatibilité multiplateforme, mais existe-t-il un moyen de résoudre ce problème?

123
la source
3
Remarque: Pour Qt 5.7.1 et Xcode 8.2.1, la réponse de @ rudolf-ratusinski fait cependant parfaitement l'affaire. La réponse acceptée ne fonctionne pas.
Alexey Kamenskiy
La réponse @ rudolf-ratusinski fonctionne toujours sur Xcode 11.2.1
AJC

Réponses:

275

> = Xcode 8

Dans Xcode 8, comme Bruce l'a dit, cela se produit lorsque Qt essaie de trouver xcrunquand il devrait chercher xcodebuild.

Ouvrez le fichier:

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

Remplacer:

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

Avec:

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

~> Xcode 8

Avant Xcode 8, ce problème se produit lorsque les outils de ligne de commande sont installés après l'installation de Xcode. Ce qui se passe, c'est que le Xcode-selectrépertoire du développeur est pointé /Library/Developer/CommandLineTools.

Pointez Xcode-selectsur le bon répertoire Xcode Developer avec la commande:

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

Confirmez le contrat de licence avec la commande:

sudo xcodebuild -license

Cela vous invitera à lire le contrat de licence.

Entrez agreepour accepter les conditions.

123
la source
4
J'ai eu l'erreur xcode-select: error: répertoire de développeur non valide '/Applications/Xcode.app/Contents/Developer'
Mohammed Rafeeq
14
Ne fonctionne pas pour moi avec Xcode 8. J'ai accepté la licence via ces instructions et j'obtiens toujours la même erreur.
Violet Giraffe le
1
Merci, avec XCode 8 après avoir édité default_pre.prf ça marche!
Libor B.
11
Pour ceux qui se demandent où se trouve le dossier d'installation: cela dépendra des paramètres de votre gestionnaire de paquets: / usr / local / Cellar / qt55 pour Homebrew, / opt / local / libexec / qt5 (-mac) pour macports.
yogodoshi
3
Avec homebrew, après l' installation [email protected] ( ce qui est nécessaire pour la gemme capybara Ruby), j'ai trouvé le pertinent default_pre.prffichier à: /usr/local/Cellar/[email protected]/5.5.1/mkspecs/features/mac/default_pre.prf. J'ai également essayé l'approche de Rudolf Ratusiński, et même si cela m'a permis de surmonter la première bosse, cela a abouti à de nombreux messages faux plus tard que je n'ai pas reçus lorsque j'ai utilisé cette approche à la place.
Ben Hocking
81

Si vous modifiez le contenu de, Qt_install_folder/5.7/clang_64/mkspecs/features/mac/default_pre.prf cela ne fonctionnera que pour le kit de bureau, pas par exemple. simulateur.

Une meilleure façon est simplement de créer un lien symbolique:

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

vous n'avez donc pas à modifier les fichiers .prf pour toutes les cibles.

Rudolf Ratusiński
la source
1
Je préfère cette version, elle semble donc moins compliquée que l'édition de fichiers cfg.
tjeden le
3
Cela pose des problèmes plus tard lorsque xcrun est appelé avec des paramètres non pris en charge par xcodebuild (paramètre -f manquant).
mrAlmond le
3
Cela semble être un problème de qt. Je considère donc plus dangereux d'ajouter un lien sym durable à l'intérieur de xcode distrib que de changer un fichier qt conf qui sera remplacé par Qt 5.7.1
ALoopingIcon
1
Ne faites pas ça, ça gâche mon projet d'application iPhone.
Chchwy
1
J'ai voté trop tôt et je l'ai verrouillé ... J'ai rencontré le problème du paramètre -f.
BuvinJ
26

Ça fera l'affaire:

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

Exécutez ceci dans votre terminal.

Shnd
la source
fonctionne dans Xcode8 et plus facile que les autres étapes. Merci!
Misha
Confirmé que cela fonctionne sur macOS Sierra 10.12.4 avec Xcode 8 - Merci!
Dylan Pierce
1
Cela fonctionne toujours sur macOS High Sierra 10.13.5 avec Xcode 9.4.1 - Merci!
d1jhoni1b
Confirmé que cela fonctionne dans macOS Catalina 10.15.2 avec Xcode 11.3.
RNickMcCandless le
11

Pour les utilisateurs de Xcode 8, il y a un autre problème. Voir ici pour une solution temporaire jusqu'à ce que Qt 5.7.1 soit publié:

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

Pour résumer:

Ouvrez Qt_install_folder/5.7/clang_64/mkspecs/features/mac/default_pre.prfdans un éditeur de texte et remplacez ceci:

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

avec ça:

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

Si vous construisez Qt à partir des sources avec XCode 8.x, vous devez modifier l'argument "-find" dans le fichier qt-everywhere-enterprise-src-5.7.0/qtbase/configureà la ligne 551 pour qu'il ressemble à:

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

J'ai réussi à le résoudre en installant la version complète de Xcode, en acceptant les termes, puis en utilisant xcode-select --reset.

Fondamentalement, le problème est que le xcode sur lequel vous pointez /Library/Developer/CommandLineToolsne vous permet pas d'accepter les termes et conditions. Donc, après l'installation et la réinitialisation de l'emplacement, tout devrait être OK

Ramsès
la source
0

Pour moi, la seule façon de travailler correctement est de commenter les lignes sur xcrun avec le '#':

# 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.")

Dans le fichier: Qt_install_folder / 5.7 / clang_64 / mkspecs / features / mac / default_pre.prf

Marcelo
la source
0

Juste pour ajouter un peu à beaucoup d'anciennes réponses dans l'esprit de "Cela a fonctionné pour moi", j'ai trouvé qu'en lançant Xcode, en me connectant à mon compte développeur (juste un compte gratuit), puis en définissant les outils de commande dans "Emplacements" . Je pourrais avoir le

'sudo / usr / bin / xcodebuild -license consent'

travailler. c'est-à-dire qu'il a lancé un processus d'accord dans la ligne de commande et j'ai accepté après une lecture attentive des 14 pages squillion de trucs.

Je n'ai rien eu à modifier.

Mon système est Mojave 10.14.6 et Xcode 10.3 (10G8).

nerak99
la source