Qt Creator - ERRORE del progetto: Xcode non impostato correttamente. Potrebbe essere necessario confermare il contratto di licenza eseguendo / usr / bin / xcodebuild


121

Ho appena installato Qt 5.5 e sto usando Qt Creator per la prima volta su OS X. Quando ho installato Qt per la prima volta, mi ha dato un messaggio di errore "Xcode 5 non installato" che ho pensato fosse strano, (ho Xcode 7 beta) , ma l'installazione è stata comunque completata correttamente.

Ora, quando avvio o apro un progetto, ricevo l'errore:

ERRORE di progetto: Xcode non impostato correttamente. Potrebbe essere necessario confermare il contratto di licenza eseguendo / usr / bin / xcodebuild.

Quando eseguo /usr/bin/xcodebuildin Terminal, ottengo quanto segue:

xcode-select: errore: lo strumento 'xcodebuild' richiede Xcode, ma la directory dello sviluppatore attivo '/ Library / Developer / CommandLineTools' è un'istanza di strumenti da riga di comando

Non sono sicuro di cosa abbia a che fare Xcode con Qt Creator, a meno che non abbia qualcosa a che fare con l'accesso alle librerie per la compatibilità multipiattaforma, ma c'è un modo per risolvere questo problema?


3
Nota: per Qt 5.7.1 e Xcode 8.2.1 la risposta di @ rudolf-ratusinski comunque fa il lavoro perfettamente. La risposta accettata non funziona.
Alexey Kamenskiy

La risposta di @ rudolf-ratusinski funziona ancora su Xcode 11.2.1
AJC

Risposte:


275

> = Xcode 8

In Xcode 8, come ha detto Bruce, questo accade quando Qt cerca di trovare xcrunquando dovrebbe cercare xcodebuild.

Apri il file:

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

Sostituire:

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

Con:

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

~> Xcode 8

Prima di Xcode 8, questo problema si verifica quando gli strumenti della riga di comando vengono installati dopo l'installazione di Xcode. Quello che succede è che la Xcode-selectdirectory dello sviluppatore viene puntata /Library/Developer/CommandLineTools.

Puntare Xcode-selectalla directory Xcode Developer corretta con il comando:

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

Conferma il contratto di licenza con il comando:

sudo xcodebuild -license

Questo ti chiederà di leggere il contratto di licenza.

Entra agreeper accettare i termini.


4
Ho ricevuto l'errore xcode-select: errore: directory sviluppatore non valida "/Applications/Xcode.app/Contents/Developer"
Mohammed Rafeeq

14
Non funziona per me con Xcode 8. Ho accettato la licenza tramite queste istruzioni e continuo a ricevere lo stesso errore.
Giraffa viola

1
Grazie, con XCode 8 dopo aver modificato default_pre.prf funziona!
Libor B.

11
Per coloro che si chiedono dov'è la cartella di installazione: dipenderà dalle impostazioni del gestore di pacchetti: / usr / local / Cellar / qt55 per Homebrew, / opt / local / libexec / qt5 (-mac) per macports.
yogodoshi

3
Con homebrew, dopo l'installazione di qt@5.5 (che è necessario per il capibara gemma Ruby), ho trovato il relativo default_pre.prffile alla: /usr/local/Cellar/qt@5.5/5.5.1/mkspecs/features/mac/default_pre.prf. Ho anche provato l'approccio di Rudolf Ratusiński, e mentre mi ha fatto superare la prima gobba, in seguito ha prodotto numerosi messaggi spuri che non ho ricevuto quando ho usato invece questo approccio.
Ben Hocking

81

Se modifichi il contenuto di Qt_install_folder/5.7/clang_64/mkspecs/features/mac/default_pre.prf , funzionerà solo per il kit desktop, non per es. simulatore.

Un modo migliore è creare un collegamento simbolico:

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

quindi non è necessario modificare i file .prf per tutti i target.


1
Preferisco questa versione, quindi sembra meno disordinata rispetto alla modifica dei file cfg.
tjeden

3
Ciò causa problemi in seguito quando xcrun viene richiamato con parametri non supportati da xcodebuild (parametro mancante -f).
mrAlmond

3
Sembra un problema di qt. Quindi considero più pericoloso aggiungere un collegamento simbolico duraturo all'interno di xcode distrib che cambiare un file qt conf che sarà sostituito da Qt 5.7.1
ALoopingIcon

1
Non farlo, rovina il mio progetto di app per iPhone.
Chchwy

1
Ho votato troppo presto e l'ho bloccato ... Mi sono imbattuto nel problema del parametro -f.
BuvinJ

26

Questo farà il trucco:

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

Eseguilo nel tuo terminale.


funziona in Xcode8 e più semplice degli altri passaggi. Grazie!
Misha

Confermato che funziona su macOS Sierra 10.12.4 con Xcode 8 - Grazie!
Dylan Pierce

1
Funziona ancora su macOS High Sierra 10.13.5 con Xcode 9.4.1 - Grazie!
d1jhoni1b

Confermato che funziona in macOS Catalina 10.15.2 con Xcode 11.3.
RNickMcCandless

11

Per gli utenti di Xcode 8, c'è un altro problema. Vedi qui per una soluzione temporanea fino al rilascio di Qt 5.7.1:

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

Riassumere:

Apri Qt_install_folder/5.7/clang_64/mkspecs/features/mac/default_pre.prfin un editor di testo e sostituisci questo:

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

con questo:

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

4

Se compili Qt dai sorgenti con XCode 8.x, devi cambiare l'argomento "-find" nel file qt-everywhere-enterprise-src-5.7.0/qtbase/configuresulla riga 551 in modo che assomigli a:

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

2

Sono riuscito a risolverlo installando la versione completa di Xcode, accettando i termini, quindi utilizzando xcode-select --reset.

Fondamentalmente il problema è che l'xcode a cui stai puntando /Library/Developer/CommandLineToolsnon ti consente di accettare i termini e le condizioni. Quindi, dopo l'installazione e il ripristino della posizione, tutto dovrebbe essere OK


0

Per me, l'unico modo per lavorare correttamente è commentare le righe su xcrun con il '#':

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

Nel file: Qt_install_folder / 5.7 / clang_64 / mkspecs / features / mac / default_pre.prf


0

Solo per aggiungere un po 'a molte vecchie risposte nello spirito di "Questo ha funzionato per me" l'ho scoperto avviando Xcode, accedendo al mio account sviluppatore (solo uno gratuito) e quindi impostando gli strumenti di comando in "Posizioni" . Potrei ottenere il file

"sudo / usr / bin / xcodebuild -license d'accordo"

lavorare. cioè ha lanciato un processo di accordo nella riga di comando e ho accettato dopo un'attenta lettura di tutti i 14 miliardi di pagine di materiale.

Non ho dovuto modificare nulla.

Il mio sistema è Mojave 10.14.6 e Xcode 10.3 (10G8).

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.