使用与系统默认值不同的编译器运行CMake

时间:2014-06-16 08:49:05

标签: c++ gcc c++11 cmake gcc4.9

我正在尝试build something that requires CMake,但是当我尝试时:

cmake -DBUILD_EXAMPLES=YES -DBUILD_TESTS=YES

我收到错误:

Your systems default compiler is GCC.  This project makes use of c++11
features present only in versions of gcc >= 4.9.  You can use a different
compiler by re-running cmake with the command switch "-D
CMAKE_CXX_COMPILER=<compiler>"

我尝试过使用CMAKE_CXX_COMPILER=c++11CMAKE_CXX_COMPILER=g++11,但这些也会出错。这是因为我使用了错误的变量,还是因为我没有安装c ++ 11?它会有什么解决方法?

1 个答案:

答案 0 :(得分:3)

看起来您的编译器太旧了。请务必检查gcc -v

的输出

如果您不想替换系统的默认编译器,可以在命令行中指定备用编译器,如下所示:

CXX=g++49 CC=gcc49 cmake -DBUILD_EXAMPLES=YES -DBUILD_TESTS=YES <path_to_source>

其中g++49gcc49是系统上替代编译器的名称。

大多数Linux发行版允许同时安装多个版本的gcc,因此您应该能够毫不费力地实现这一目标。