在waf中指定C ++编译器

时间:2015-02-20 01:34:01

标签: c++ build waf

使用waf构建系统构建C ++代码时,我可以选择特定的C ++编译器命令吗?

虽然可以运行类似“CXX = g ++ - 4.9 waf configure”的东西,或者通过在wscript文件中设置os.environ ['CXX']来获得相同的效果,是否有“正确”的方式这样做?

即。什么是相当于在Makefile中设置CXX变量。

1 个答案:

答案 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')