2013-04-30 123 views
1

我試圖用CMake編譯Ubuntu的一個C++項目,但我得到這個錯誤:在UbuntuCMake的想用ccache的,而不是GCC

CMake Error: your C compiler: "/usr/lib64/ccache/bin/gcc" was not found. Please set CMAKE_C_COMPILER to a valid compiler path or name. 
CMake Error: your CXX compiler: "/usr/lib64/ccache/bin/c++" was not found. Please set CMAKE_CXX_COMPILER to a valid compiler path or name. 

我已經gcc和家居裝(建立必要的),但是我不能停止cmake這樣做,除非在CMakeLists.txt中對CMAKE_C_COMPILERCMAKE_CXX_COMPILER進行硬編碼,這是我不願意做的,原因很明顯。我嘗試安裝ccache,但是沒有任何效果。

回答

2

你不應該改變CMAKE_C_COMPILERCMAKE_CXX_COMPILER從在CMakeLists中。相反,你應該是第一次運行時的CMake在命令行給他們:

cmake -D CMAKE_CXX_COMPILER=/path/to/g++ .. 

注意,此值有cmake的第一次運行後沒有效果!所以如果你想切換到不同的編譯器,你將不得不刪除CMake緩存或切換到新的編譯目錄。

另一方面,不必爲隨後的CMake運行指定這個冗長的選項當然也可以節省大量的輸入。

0

拿上你的環境變量一起來看看:

echo $CC 
echo $CXX 

,如果它們是空的,儘量將它們設置爲指向GCC:

$ export CC=/usr/bin/gcc 
$ export CXX=/usr/bin/g++ 
+0

我這樣做,然後刪除生成目錄的內容,並嘗試cmake ..再次,但我得到了同樣的結果。有一些cmake緩存嗎? – 2013-04-30 13:10:44