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?


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.


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 qt@5.5 (die für das Ruby Capybara-Juwel erforderlich ist) die entsprechende default_pre.prfDatei unter : /usr/local/Cellar/qt@5.5/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.


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.


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

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

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


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


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

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.