C++11 如何检查g++;支持c++;14/17在烤饼里?

C++11 如何检查g++;支持c++;14/17在烤饼里?,c++11,compilation,g++,c++14,scons,C++11,Compilation,G++,C++14,Scons,我使用SCON作为我的构建系统 我的一些代码用于cpp14和cpp17。它们在“newcpp”之类的文件夹中。我希望我的sconstuct/Sconscript能够检查我的g++是否支持这些标志,伪代码如下: import os,sys env = Environment(ENV = {'PATH' : os.environ['PATH']}) if [CXX_SUPPORTS('-std=c++14')] env.SConscript(dirs=['newcpp']) 我知道auto

我使用SCON作为我的构建系统

我的一些代码用于cpp14和cpp17。它们在“newcpp”之类的文件夹中。我希望我的sconstuct/Sconscript能够检查我的g++是否支持这些标志,伪代码如下:

import os,sys
env = Environment(ENV = {'PATH' : os.environ['PATH']})
if [CXX_SUPPORTS('-std=c++14')]
    env.SConscript(dirs=['newcpp'])

我知道automake/configure支持这种检查。如何在SCON中执行此操作?

您很可能希望使用配置上下文。 请参阅《用户指南》的此部分

以及手册页的这一部分:

所以你很可能会想要这样的东西:

env = Environment(CFLAGS='-std=c++14')
conf = Configure(env)
if conf.CheckCXX():
   print("Yes CXX14")
   env.SConscript(dirs=['newcpp'])
env = conf.Finish()