【问题标题】:Specify C++ compiler in waf在 waf 中指定 C++ 编译器
【发布时间】:2018-10-23 15:47:44
【问题描述】:

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

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

即在 Makefile 中设置 CXX 变量的 waf 等价物是什么?

【问题讨论】:

    标签: c++ build waf


    【解决方案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')
    

    【讨论】:

    • 我按照 OP 的要求添加了一个默认编译器
    猜你喜欢
    • 1970-01-01
    • 2011-03-02
    • 2012-03-15
    • 1970-01-01
    • 1970-01-01
    • 2011-02-24
    • 2017-01-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多