使用waf构建系统构建C ++代码时,我可以选择特定的C ++编译器命令吗?
虽然可以运行类似“CXX = g ++ - 4.9 waf configure”的东西,或者通过在wscript文件中设置os.environ ['CXX']来获得相同的效果,是否有“正确”的方式这样做?
即。什么是相当于在Makefile中设置CXX变量。
答案 0 :(得分:1)
我在这个主题上发现的文档很少有点奇怪。正如您在问题中提到的那样,我通过在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')