Cmake文件支持C ++ 11

时间:2016-10-14 18:46:47

标签: c++ c++11 makefile build cmake

我需要构建和制作源代码,但会出现此错误:

error: #error This file requires compiler and library support for the ISO C++ 2011 standard. This support must be enabled with the -std=c++11 or -std=gnu++11 compiler options.

我在其他主题中看到,通过将CMakeLists.txt中的标志更改为'-std = c ++ 11'可以轻松解决此问题,但构建目录中没有CMakelists.txt。

有人可以帮助我吗?

- OBS:我在Ubuntu 16.04上

1 个答案:

答案 0 :(得分:1)

在CMake项目中启用c ++ 11的最简洁方法是在主CMakeLists.txt中设置变量CMAKE_CXX_STANDARD。

set(CMAKE_CXX_STANDARD 11)

您可能还想将CMAKE_CXX_EXTENSIONS设置为off以使用-std = c ++ 11而不是带有GCC扩展名的默认-std = gnu ++ 11。

这里记录了变量和相关属性:

https://cmake.org/cmake/help/v3.1/variable/CMAKE_CXX_STANDARD.html#variable:CMAKE_CXX_STANDARD

https://cmake.org/cmake/help/v3.1/variable/CMAKE_CXX_EXTENSIONS.html