如何检查g ++是否支持SCons中的c ++ 14/17?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何检查g ++是否支持SCons中的c ++ 14/17?相关的知识,希望对你有一定的参考价值。
我正在使用scons作为我的构建系统。
我的一些代码是针对cpp14和cpp17的。他们在像“newcpp”这样的文件夹中。我希望我的SConstruct / Sconscript可以检查我的g ++是否支持这些标志,伪代码如下所示:
import os,sys
env = Environment(ENV = {'PATH' : os.environ['PATH']})
if [CXX_SUPPORTS('-std=c++14')]
env.SConscript(dirs=['newcpp'])
我知道automake / configure支持这种检查。如何在scons中做到这一点?
答案
您最有可能想要使用配置上下文。请参阅用户指南https://scons.org/doc/production/HTML/scons-user/ch23.html的此部分
而这部分的联机帮助页:https://scons.org/doc/production/HTML/scons-man.html#configure_contexts
很可能你会想要这样的东西:
env = Environment(CFLAGS='-std=c++14')
conf = Configure(env)
if conf.CheckCXX():
print("Yes CXX14")
env.SConscript(dirs=['newcpp'])
env = conf.Finish()
以上是关于如何检查g ++是否支持SCons中的c ++ 14/17?的主要内容,如果未能解决你的问题,请参考以下文章