2014-04-14 17 views
6

Come posso configurare Xcode per utilizzare il clang distribuito da llvm.org anziché quello spedito da Apple?Come faccio a fare in modo che Xcode usi una versione alternativa di clang?

Se scarico il clang binaries e installare al /usr/local e quindi impostare il mio compilatore di Altro ... ->/usr/local/bin/clang in Xcode, tanto sono errori di forma:

compilatore non supportato '/ usr/local/bin/clang 'selezionato per l'architettura' x86_64 '

Impossibile determinare il compilatore GCC concreto per il file ... di tipo sourcecode.cc

UPDATE: ho trovato un modo per fare questo lavoro con un collegamento simbolico /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr alla directory clang+llvm-3.4-x86_64-apple-darwin10.9 radice, ma sarebbe molto meglio che ci fosse un modo per impostare un compilatore alternativo per Xcode senza modificare la Albero di directory Xcode.

risposta

10

L'opzione più semplice (anche la più semplice da invertire) consiste nell'aggiungere la bandiera di costruzione CC. Vai alle impostazioni di costruzione del tuo progetto o target e scegli Editor ->Aggiungi impostazione build ->Aggiungi l'impostazione definita dall'utente dal menu.

Adding custom build flags

Nome bandiera CC, e impostare il valore per il percorso del binario Clang.

Setting the <code>CC</code> flag

È possibile scegliere se si desidera utilizzare questo compilatore per tutte le build, o semplicemente build di debug (questo ha un senso quando si utilizzano le versioni sperimentali e/o auto-modificato di Clang, per esempio).

Si noti che per funzioni come il completamento automatico, la ricerca simbolica, ecc., Xcode non usa il binario Clang ma altre librerie LLVM distribuite con Xcode. Ho descritto come sostituire quelli in another post (che è più o meno lo stesso approccio che hai preso). Cambiando solo la versione Clang, dopo la compilazione potresti ricevere avvisi diversi da quelli mostrati nell'editor durante la digitazione.

+0

Risposta perfetta, grazie! –

2

È una vecchia domanda, ma poiché volevo installare più recente clang/libC++ da utilizzare con Xcode 9+, ecco la mia soluzione nella speranza che sarebbe utile per qualcuno.

  1. Se state costruendo dai sorgenti, assicurarsi di passare -DLLVM_CREATE_XCODE_TOOLCHAIN=ON a CMake, poi eseguire make install-Xcode-toolchain. Se si installa con homebrew, utilizzare il brew install --with-toolchain llvm
  2. Copiare la cartella toolchain dalla wherewher sua installata (/ usr/local/Toolchains probabilmente) a/Library/Developer/Toolchains
  3. Restart Xcode, si vedrà l'opzione Toolchains nel Menu Xcode.

Un problema particolare in cui mi imbatto è che clang si lamenta di "impossibile utilizzare l'opzione -o con più file di output". Questo perché al momento di scrivere questo clang di Apple ha una nuova opzione che mancava nel bagagliaio.Per risolvere questo problema, disabilitare la funzione Index-While-Building nelle impostazioni del progetto.

+0

Dove hai trovato "Index-While-Building" 'Impostazioni file/progetto'? –

+0

È dove sono tutte le altre opzioni di costruzione. Fare clic sul progetto di livello superiore nell'albero del progetto. – MrMobster

Problemi correlati