2011-08-16 14 views
28

Utilizzo la versione 2.8 di CMake su WinXP SP3. Ogni volta che eseguo il mio script CMakeLists per impostazione predefinita, CMake utilizza il compilatore Visual Studio 10. Ho provato a fare:Impostazione del compilatore predefinito in CMake

SET(CMAKE_CXX_COMPILER "C:/MinGW/bin/g++") 

senza successo. Come posso impostare MinGW come compilatore predefinito in modo che non debba preoccuparsi di impostare il compilatore nelle CMakeList?

+12

Si prega di non impostare CMAKE_CXX_COMPILER in un file CMakeLists.txt. Vedi questa pagina del wiki su come cambiare il compilatore: http://www.cmake.org/Wiki/CMake_FAQ#How_do_I_use_a_different_compiler.3F - Inoltre, tieni presente che non è possibile modificare il compilatore una volta che è stato memorizzato nella cache in un dato albero di compilazione. Pulire l'albero di build o utilizzarne uno nuovo e ricominciare con un compilatore diverso. – DLRdave

risposta

23

In Windows CMake uses the newest Visual Studio installation come generatore predefinito, a meno che il generatore non venga esplicitamente specificato al richiamo di CMake. Questo comportamento è hardcoded e non può essere modificato.

Come un work-around è possibile utilizzare uno script batch involucro dal titolo cmake.bat con il seguente contenuto:

@cmake.exe -G "MinGW Makefiles" %* 

Lo script deve essere collocato in una directory nel percorso di sistema e deve avere la precedenza su l'eseguibile CMake cmake.exe.

Lo script invoca cmake.exe con MinGW come generatore e inoltra tutti gli altri parametri.

10

È solo necessario impostare il formato di toolchain/uscita una volta, di solito ci si esegue questa operazione su di esecuzione cmake per la prima volta:

cmake -G "MinGW Makefiles" . 

Al posto del punto è possibile utilizzare i propri parametri (se presente) e/o il percorso verso la fonte.

In alternativa, soprattutto quando si è nuovi a CMake, utilizzare la versione della GUI sotto Windows (eseguire cmake-gui senza parametri anziché cmake).

Una volta aperti, impostare i percorsi e fare clic su "Configura". Se non ci sono set di compilatori, ti chiederà di sceglierne uno (altrimenti devi svuotare la cache per farla riapparire).

I valori di configurazione aggiornati verranno visualizzati in rosso e consentiranno inoltre di selezionare file e percorsi utilizzando le finestre di dialogo comuni di Windows.

Una volta completata la configurazione e senza errori, è possibile premere "generare" per creare i file makefile o di progetto. Per aggiornarli in seguito, è possibile utilizzare nuovamente cmake-gui oppure utilizzare la consueta versione da riga di comando cmake.

+2

Una nota sull'utilizzo di cmake -G "MinGW Makefiles". Almeno per quanto mi riguarda, dovevo assicurarmi che la directory MinGW \ bin apparisse nel percorso dopo la directory VisualStudio \ VC \ bin. Prima che anche con il generatore MinGW veniva usato il compilatore c1.exe invece di g ++ da GNU – odedsh

Problemi correlati