Cmake错误:即使升级到新版本,也会引用旧版本

时间:2012-06-28 22:56:21

标签: gcc compiler-construction cmake cross-compiling

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

我将修订版更改为新版,即使它引用了修订版OLD路径。我在维基常见问题上阅读 他们建议像

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

但这是正确的方法吗?因为我听说有一些缺点就像重置其他FLAGS一样?

我根本不知道cmake。

1 个答案:

答案 0 :(得分:0)

是的,您可以在构建目录中运行cmake -DCMAKE_C_COMPILER=/new/revision/cc -DCMAKE_CXX_COMPILER=/new/revision/c++ .。但这会导致CMake进行全面重新配置,因此您将丢失对默认配置的更改。

AFAIK,没有办法阻止CMake这样做,因为它是故意做的。 CMake根据选定的编译器设置了很多内部配置变量,因此在更改编译器时会重复它。

解决此问题的唯一方法 - 将symlink编译为较新版本的编译器。