2012-06-28 93 views
0
CMake Error: your C compiler: "/home/user/revision OLD/host/linux/x86/usr/bin/qcc" was not found. 
Please set CMAKE_C_COMPILER to a valid compiler path or name. 

CMake Error: your CXX compiler: "/home/user/revision OLD/host/linux/x86/usr/bin/qcc" was not found. 
Please set CMAKE_CXX_COMPILER to a valid compiler path or name. 

-- Configuring incomplete, errors occurred! 
make: *** [cmake_check_build_system] Error 1 

我改變了我的修訂,新的,即使它是指修訂老路。我讀了維基常見問題 他們建議像cmake的錯誤:指的是舊的版本,即使升級到新的版本

$ cmake -G "Your Generator" -D CMAKE_C_COMPILER=gcc-4.2 -D CMAKE_CXX_COMPILER=g++-4.2 path/to/your/source 

,但這樣做的正確方法?因爲我聽說有像重置其他FLAGS一樣的缺點?

我完全不知道cmake。

+0

您試過使用cmake -DCMAKE_C_COMPILER =「/ home/user/revision \ new/host/linux/x86/usr/bin/qcc」-DCMAKE_CXX_COMPILER =「/ home/user/revision \ new/host/linux/x86/usr/bin/qcc「'? 我的猜測是CMake在'CC'和'CXX'環境變量中找到'OLD'路徑,也許可以檢查('echo $ CC')? –

回答

0

是的,您可以在您的構建目錄中運行cmake -DCMAKE_C_COMPILER=/new/revision/cc -DCMAKE_CXX_COMPILER=/new/revision/c++ .。但是這會導致CMake進行全面的重新配置,所以你會失去對默認配置的改變。

AFAIK,沒有辦法阻止CMake這樣做,因爲它是故意的。 CMake根據選定的編譯器設置了很多內部配置變量,因此在更改編譯器時重複它。

解決此問題的唯一方法 - 使符號鏈接到新版本的編譯器。