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.