2012-06-28 632 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根据选定的编译器设置了很多内部配置变量,因此在更改编译器时重复它。

解决此问题的唯一方法 - 使符号链接到新版本的编译器。