0

我的系统是 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()
4

1 回答 1

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 变量的有用参考。

于 2013-11-01T00:58:45.147 回答