【问题标题】:Cmake Error : referring to old revision even though upgraded to new revisionCmake错误:即使升级到新版本,也引用旧版本
【发布时间】:2012-06-28 22:56:20
【问题描述】:
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 路径。我在 wiki FAQ 上阅读 他们建议像

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

但是这样做的正确方法是什么?因为我听说有一些缺点,比如重置其他 FLAGS ?

我完全不知道 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" <path> 吗?我的猜测是 CMake 正在 CCCXX 环境变量中找到 OLD 路径,也许也检查一下(echo $CC)?

标签: gcc compiler-construction cmake cross-compiling


【解决方案1】:

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-29
    • 2018-08-07
    • 1970-01-01
    • 2020-11-26
    • 1970-01-01
    相关资源
    最近更新 更多