在waf中指定C++编译器

Specify C++ compiler in waf

本文关键字:C++ 编译器 waf      更新时间:2023-10-16

使用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')