繁体   English   中英

如何在cmake> = 2.6中使用不带gnu扩展的c ++ 98?

[英]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_EXTENSIONSCXX_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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM