2013-04-18 138 views
4

目前,我調用CMake的從我的生成目錄,如下所示:如何讓CMake在系統PATH上使用默認編譯器?

CXX = 「/選擇/ GCC-4.8 /斌/ G ++」 cmake的..

獲得CMake的使用這個特定的編譯器。否則它使用操作系統默認編譯器。

我的PATH的「/opt/gcc-4.8/bin」在其他所有內容之前。因此,在「CMakeLists.txt」文件中指定使用路徑上的默認g ++的方法,而不是預先添加環境變量?

回答

5

CMake贊同PATH環境變量的設置,但優先考慮通用編譯器名稱ccc++。要確定哪個C編譯器將UNIX下的違約CMake的使用,運行:

$ which cc 

要確定默認的C++編譯器,運行:

$ which c++ 

如果您在/opt/gcc-4.8/bin生成一個符號鏈接c++這指向/opt/gcc-4.8/bin/g++,CMake默認應該使用GCC 4.8。

+0

好的,謝謝。原來,我運行的shell腳本弄亂了我的PATH。對於有用的信息,接受這個答案「CMake尊重PATH環境變量的設置,但優先考慮通用編譯器名稱cc和C++」。 – Jeet 2013-04-18 15:53:46

0

cc的位置而不是c++決定哪個c++ cmake要使用。因此,舉例來說,如果您有/usr/local/bin/c++/usr/local/bin/cc,cmake仍會提取,而不是/usr/local/bin/c++。在這種情況下,創建指向/usr/local/bin/gcc/usr/local/bin/cc的符號鏈接將使cmake使用/usr/local/bin/c++

另一種方法是你的項目的語言明確設置爲C++:

project(foo CXX)