在waf中指定C++编译器

Ami*_*ich 6 c++ build waf

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

虽然可以运行类似"CXX = g ++ - 4.9 waf configure"的东西,或者通过在wscript文件中设置os.environ ['CXX']来获得相同的效果,但有没有"正确"的方法呢?

即什么是相当于在Makefile中设置CXX变量的waf.

pin*_*gul 2

有点奇怪的是,我发现的关于这个主题的文档很少。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)