使用waf构建系统构建C++代码时,我可以选择特定的C++编译器命令吗?
虽然可以运行类似"CXX = g ++ - 4.9 waf configure"的东西,或者通过在wscript文件中设置os.environ ['CXX']来获得相同的效果,但有没有"正确"的方法呢?
即什么是相当于在Makefile中设置CXX变量的waf.
有点奇怪的是,我发现的关于这个主题的文档很少。configure
正如您在问题中提到的那样, 我通过在函数中设置环境变量来凑合。
对于好奇的人来说,这是一个小例子:
import os
def options(opt):
opt.load('wak.tools')
opt.load('compiler_cxx')
def configure(conf):
conf.load('wak.tools')
conf.env.CXX = "g++-4.9" # default compiler
if os.environ['CXX']: # Pull in the compiler
conf.env.CXX = os.environ['CXX'] # override default
# Additional setup of variables
conf.load('compiler_cxx') # Will use the compiler from the environment path
def build(bld):
bld.program(
target='test',
includes='include',
source='src/main.cpp')
Run Code Online (Sandbox Code Playgroud)