Qt Creator - Projektfehler: Xcode nicht richtig eingerichtet. Möglicherweise müssen Sie die Lizenzvereinbarung bestätigen, indem Sie / usr / bin / xcodebuild ausführen

121

Ich habe gerade Qt 5.5 installiert und verwende Qt Creator zum ersten Mal unter OS X. Als ich Qt zum ersten Mal installierte, wurde die Fehlermeldung "Xcode 5 nicht installiert" angezeigt, die ich für seltsam hielt (ich habe die Xcode 7-Beta). , aber die Installation wurde trotzdem erfolgreich abgeschlossen.

Wenn ich jetzt ein Projekt starte oder öffne, wird folgende Fehlermeldung angezeigt:

Projektfehler: Xcode nicht richtig eingerichtet. Möglicherweise müssen Sie die Lizenzvereinbarung bestätigen, indem Sie / usr / bin / xcodebuild ausführen.

Wenn ich /usr/bin/xcodebuildim Terminal laufe , erhalte ich Folgendes:

xcode-select: error: Für das Tool 'xcodebuild' ist Xcode erforderlich, aber das aktive Entwicklerverzeichnis '/ Library / Developer / CommandLineTools' ist eine Befehlszeilen-Tool-Instanz

Ich bin nicht sicher, was Xcode mit Qt Creator zu tun hat, es sei denn, es hat etwas mit dem Zugriff auf Bibliotheken zu tun, um plattformübergreifende Kompatibilität zu gewährleisten. Gibt es jedoch eine Möglichkeit, dieses Problem zu beheben?

123
quelle
3
Hinweis: Für Qt 5.7.1 und Xcode 8.2.1 macht die Antwort von @ rudolf-ratusinski den Job jedoch perfekt. Akzeptierte Antwort funktioniert nicht.
Alexey Kamenskiy
@ Rudolf-Ratusinski Antwort funktioniert immer noch auf Xcode 11.2.1
AJC

Antworten:

275

> = Xcode 8

In Xcode 8 geschieht dies, wie Bruce sagte, wenn Qt versucht, herauszufinden, xcrunwann es suchen sollte xcodebuild.

Öffne die Datei:

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

Ersetzen:

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

Mit:

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

~> Xcode 8

Vor Xcode 8 tritt dieses Problem auf, wenn Befehlszeilentools nach der Installation von Xcode installiert werden. Was passiert, ist, dass auf das Xcode-selectEntwicklerverzeichnis verwiesen wird /Library/Developer/CommandLineTools.

Punkt Xcode-selectauf das richtige Xcode Entwickler - Verzeichnis mit dem Befehl:

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

Bestätigen Sie die Lizenzvereinbarung mit dem Befehl:

sudo xcodebuild -license

Dadurch werden Sie aufgefordert, die Lizenzvereinbarung durchzulesen.

Geben Sie ein agree, um die Bedingungen zu akzeptieren.

123
quelle
4
Ich habe den Fehler xcode-select erhalten: Fehler: ungültiges Entwicklerverzeichnis '/Applications/Xcode.app/Contents/Developer'
Mohammed Rafeeq
14
Funktioniert bei Xcode 8 nicht. Ich habe die Lizenz über diese Anweisungen akzeptiert und erhalte immer noch den gleichen Fehler.
Violette Giraffe
1
Vielen Dank, mit XCode 8 nach dem Bearbeiten von default_pre.prf funktioniert es!
Libor B.
11
Für diejenigen, die sich fragen, wo sich der Installationsordner befindet: Dies hängt von den Einstellungen Ihres Paketmanagers ab: / usr / local / Cellar / qt55 für Homebrew, / opt / local / libexec / qt5 (-mac) für Macports.
Yogodoshi
3
Bei Homebrew fand ich nach der Installation von [email protected] (die für das Ruby Capybara-Juwel erforderlich ist) die entsprechende default_pre.prfDatei unter : /usr/local/Cellar/[email protected]/5.5.1/mkspecs/features/mac/default_pre.prf. Ich habe auch Rudolf Ratusińskis Ansatz ausprobiert, und obwohl er mich über den ersten Buckel brachte, führte er später zu zahlreichen falschen Nachrichten, die ich nicht erhielt, als ich stattdessen diesen Ansatz verwendete.
Ben Hocking
81

Wenn Sie den Inhalt von ändern, Qt_install_folder/5.7/clang_64/mkspecs/features/mac/default_pre.prf funktioniert dies nur für das Desktop-Kit, nicht beispielsweise für das Desktop-Kit. Simulator.

Ein besserer Weg ist einfach, einen Symlink zu erstellen:

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

Sie müssen also nicht die PRF-Dateien für alle Ziele ändern.

Rudolf Ratusiński
quelle
1
Ich bevorzuge diese Version, daher sieht sie weniger chaotisch aus als das Bearbeiten von CFG-Dateien.
Tjeden
3
Dies führt später zu Problemen, wenn xcrun mit Parametern aufgerufen wird, die von xcodebuild nicht unterstützt werden (fehlender Parameter -f).
MrAlmond
3
Es scheint ein QT-Problem zu sein. Daher halte ich es für gefährlicher, einen dauerhaften Sym-Link innerhalb der xcode-Distribution hinzuzufügen, als eine qt conf-Datei zu
ändern, die
1
Tu das nicht, es bringt mein iPhone App Projekt durcheinander.
Chchwy
1
Ich habe dies zu früh hochgestuft und es gesperrt ... Ich bin auf das Problem mit dem Parameter -f gestoßen.
BuvinJ
26

Dies wird den Trick tun:

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

Führen Sie dies in Ihrem Terminal aus.

Shnd
quelle
funktioniert in Xcode8 und einfacher als die anderen Schritte. Vielen Dank!
Mischa
Bestätigt, dass es unter macOS Sierra 10.12.4 mit Xcode 8 funktioniert - Danke!
Dylan Pierce
1
Dies funktioniert immer noch unter macOS High Sierra 10.13.5 mit Xcode 9.4.1 - Danke!
d1jhoni1b
Bestätigt, dass dies in macOS Catalina 10.15.2 mit Xcode 11.3 funktioniert.
RNickMcCandless
11

Für Benutzer von Xcode 8 gibt es ein weiteres Problem. Hier finden Sie eine vorübergehende Lösung, bis Qt 5.7.1 veröffentlicht wird:

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

Zusammenfassen:

Öffnen Sie Qt_install_folder/5.7/clang_64/mkspecs/features/mac/default_pre.prfin einem Texteditor und ersetzen Sie diesen:

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

mit diesem:

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

Wenn Sie Qt aus dem Quellcode mit XCode 8.x erstellen, müssen Sie das Argument "-find" in der Datei qt-everywhere-enterprise-src-5.7.0/qtbase/configurein Zeile 551 so ändern , dass es wie folgt aussieht:

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

Es gelang, das Problem zu lösen, indem die Vollversion von Xcode installiert, den Bedingungen zugestimmt und dann verwendet wurde xcode-select --reset.

Grundsätzlich besteht das Problem darin, dass Sie mit dem Xcode, auf den Sie zeigen, die Allgemeinen /Library/Developer/CommandLineToolsGeschäftsbedingungen nicht akzeptieren können. Nach der Installation und dem Zurücksetzen des Speicherorts sollte also alles in Ordnung sein

Ramses
quelle
0

Für mich besteht die einzige Möglichkeit, richtig zu arbeiten, darin, die Zeilen über xcrun mit dem '#' zu kommentieren:

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

In der Datei: Qt_install_folder / 5.7 / clang_64 / mkspecs / features / mac / default_pre.prf

Marcelo
quelle
0

Nur um ein bisschen zu vielen alten Antworten im Sinne von "Das hat bei mir funktioniert" hinzuzufügen, habe ich festgestellt, dass ich Xcode gestartet, mich bei meinem Entwicklerkonto angemeldet habe (nur ein kostenloses) und dann die Befehlstools unter "Standorte" eingestellt habe. . Ich könnte das bekommen

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

arbeiten. Das heißt, es wurde ein Einigungsprozess in der Befehlszeile gestartet, und ich stimmte zu, nachdem ich alle 14 Billionen Seiten sorgfältig gelesen hatte.

Ich musste nichts bearbeiten.

Mein System ist Mojave 10.14.6 und Xcode 10.3 (10G8).

nerak99
quelle