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

问题描述 投票:0回答:1
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

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

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

但是这是正确的方法吗?因为我听说有一些缺点,比如重置其他标志?

我对cmake一无所知。

gcc cmake cross-compiling
1个回答
0
投票

是的,您可以在构建目录中运行

cmake -DCMAKE_C_COMPILER=/new/revision/cc -DCMAKE_CXX_COMPILER=/new/revision/c++ .
。但这将导致 CMake 进行完全重新配置,因此您将丢失对默认配置的更改。

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

解决此问题的唯一方法 - 建立指向新版本编译器的符号链接。

© www.soinside.com 2019 - 2024. All rights reserved.