我需要构建和制作源代码,但会出现此错误:
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上
答案 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