【问题标题】:cmake failed to detect gcc4.7cmake 检测 gcc4.7 失败
【发布时间】:2013-10-31 03:16:10
【问题描述】:

我的系统是 ubuntu 12.04,默认 gcc 是 4.6。我安装了 gcc 4.7 并使用 apt-alternatives 命令将 gcc 切换到 gcc4.7。但是当使用下面的 cmake 代码时。我仍然收到“至少需要 GCC 4.7”错误。

 CHECK_C_SOURCE_COMPILES("#define GCC_VERSION (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 +      __GNUC_PATCHLEVEL__)
   #if GCC_VERSION < 40700
   #error Not GCC 4.7.0+
   #endif
   int main() { return 0; }" HAVE_GCC_47)

 if (NOT HAVE_GCC_47)
   message(FATAL_ERROR "Need at least GCC 4.7")
 endif()

【问题讨论】:

  • 设置CMAKE_C_COMPILER var.

标签: gcc cmake


【解决方案1】:

你应该在命令行上设置 C 和/或 CXX 编译器,所以如果你在 src 中有一个项目,并在 src 旁边创建一个构建目录,那么下面的调用将确保使用编译器(这必须是传入一个干净的目录,而不是具有现有缓存的目录:

cmake -DCMAKE_C_COMPILER:FILEPATH=/path/to/gcc -DCMAKE_CXX_COMPILER:FILEPATH=/path/to/g++ ../src

您还可以在 shell/命令行中设置环境变量 CC 和 CXX。它们将被使用,并且在 *nix 环境中是相当标准的。 http://www.cmake.org/Wiki/CMake_Useful_Variables 的页面也是 CMake 变量的有用参考。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-07-26
    • 2017-02-18
    • 1970-01-01
    • 2015-04-18
    • 1970-01-01
    • 2019-08-15
    • 2016-12-30
    • 1970-01-01
    相关资源
    最近更新 更多