[英]How to use c++98 without gnu extensions in cmake >= 2.6?
我必须至少支持cmake 2.6(以及3.12等最新版本):
cmake_minimum_required(VERSION 2.6)
并且要指定旧的c ++标准(c ++ 98)并禁止gnu扩展(使用-std = c ++ 98而不是-std = gnu ++ 98)。 在较新的版本(从3.0开始)中,我们具有CXX_EXTENSIONS和CXX_STANDARD ,但是我不能使用它们,因为cmake 2.6不支持它们。
我试图指定add_definitions(-std=c++98)
,但是它会导致这样的编译字符串:
/usr/bin/c++ ..... -std=c++98 ..... -std=gnu++98 .....
您始终可以将CMAKE_CXX_FLAGS
设置(或修改)为-std=c++98
以否决CMake自己设置的内容。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.