gpt4 book ai didi

c++ - 如何特别为特定模块指定 gcc 标志 (CXXFLAGS)?

转载 作者:可可西里 更新时间:2023-11-01 17:57:05 26 4
gpt4 key购买 nike

我最近正在构建一个新的 NS3 模块。在我的代码中,我使用了 C++11 (c++0x) 的一些新特性,我想添加一个 gcc flags (CXXFLAGS) "-std=c++0x "waf 配置系统。

我尝试这样做:CXXFLAGS="-std=c++0x"waf configure,然后构建它。然而,事实证明,一些现有的模块,如 ipv4-address 与 c++11 不兼容。因此,我想特别为我的新模块指定这个标志,这样其他模块就不会在 c++11 上被编译。

我试图将它添加到我的新模块中的 wscript:

def configure(conf):
conf.env.append_value('CXXFLAGS', '-std=c++0x')

第一次尝试失败。

我该怎么做?

最佳答案

虽然@drahnr 的答案对于 vanilla waf 是正确的,但它不适用于 NS-3 的构建系统,这显然是 OP 想要的。要将 CXXFLAGS 添加到 NS-3 程序,您可以将它们添加到构建对象而不是在配置阶段。

例如:

def build(bld):   
obj = bld.create_ns3_program('my_app', ['core', 'other-dependencies'])
obj.source = 'MyApplication.cpp'
obj.cxxflags = ['-std=c++11']

关于c++ - 如何特别为特定模块指定 gcc 标志 (CXXFLAGS)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13701053/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com