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

Gcc Cmake错误:即使升级到新版本,仍引用旧版本,gcc,compiler-construction,cmake,cross-compiling,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/use

我将我的修订版更改为“新”,即使它指的是修订旧路径。我读了维基常见问题解答 他们建议像

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-DCMAKE\u C\u COMPILER=/new/revision/cc-DCMAKE\u CXX\u COMPILER=/new/revision/C++.
。但这将导致CMake进行完全重新配置,因此您将丢失对默认配置的更改

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


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

您是否尝试过使用
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
)?
$ cmake -G "Your Generator" -D CMAKE_C_COMPILER=gcc-4.2 -D CMAKE_CXX_COMPILER=g++-4.2 path/to/your/source