2011-08-16 13 views
28

Używam CMake w wersji 2.8 na WinXP SP3. Ilekroć uruchamiam domyślnie skrypt CMakeLists, CMake używa kompilatora Visual Studio 10. Próbowałem wykonać:Ustawianie domyślnego kompilatora w CMake

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

bez powodzenia. Jak ustawić MinGW jako domyślny kompilator, aby nie martwić się ustawianiem kompilatora w CMakeLists?

+12

Nie ustawiaj CMAKE_CXX_COMPILER w pliku CMakeLists.txt. Zobacz tę stronę wiki dotyczącą zmiany kompilatora: http://www.cmake.org/Wiki/CMake_FAQ#How_do_I_use_a_different_compiler.3F - zwróć też uwagę, że nie można zmienić kompilatora, gdy jest on zbuforowany w danym drzewie kompilacji. Wyczyść drzewo kompilacji lub użyj nowego i zacznij od innego kompilatora. – DLRdave

Odpowiedz

23

Pod Windows CMake uses the newest Visual Studio installation jako domyślny generator, chyba że generator zostanie jawnie określony po wywołaniu CMake. To zachowanie jest zakodowane i nie można go zmienić.

Jako obejście można użyć skryptu wsadowego otoki pt cmake.bat o następującej treści:

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

Skrypt powinien być umieszczony w katalogu w ścieżce systemowej i powinny mieć pierwszeństwo przed wykonywalnego CMake cmake.exe.

Skrypt wywołuje cmake.exe z MinGW jako generator i przekazuje do niego wszystkie pozostałe parametry.

10

Trzeba tylko ustawić format toolchain/wyjścia raz, zwykle chcesz zrobić to na prowadzenie cmake po raz pierwszy:

cmake -G "MinGW Makefiles" . 

Zamiast kropki można użyć własnych parametrów (jeśli w ogóle) i/lub ścieżkę do źródła.

Alternatywnie, szczególnie gdy jesteś nowy w CMake, użyj wersji GUI pod Windowsem (uruchom cmake-gui bez parametrów zamiast cmake).

Po otwarciu ustaw ścieżki i kliknij "Konfiguruj". Jeśli nie ma zestawu kompilatorów, poprosi cię o wybranie jednego (w przeciwnym razie musisz wyczyścić pamięć podręczną, aby ponownie ją wyświetlić).

Zaktualizowane wartości konfiguracji pojawią się na czerwono, a także umożliwiają wybieranie plików i ścieżek przy użyciu typowych okien dialogowych systemu Windows.

Po zakończeniu konfiguracji i bez błędów można nacisnąć "generuj", aby utworzyć pliki makefile lub projektu. Aby zaktualizować je później, możesz ponownie użyć cmake-gui lub po prostu użyć zwykłej wersji wiersza poleceń cmake.

+2

Notka na temat używania cmake -G "Makefiles MinGW". Przynajmniej dla mnie musiałem się upewnić, że katalog MinGW \ bin pojawia się w katalogu Path po VisualStudio \ VC \ bin. Przedtem nawet z generatorem MinGW użyto kompilatora c1.exe zamiast g ++ z GNU – odedsh

Powiązane problemy