我最近正在构建一个新的NS3模块.在我的代码中,我使用了一些新功能C++11 (c++0x),我想"-std=c++0x"在waf配置系统中添加一个gcc标志(CXXFLAGS).
我尝试了这个:CXXFLAGS="-std=c++0x" waf configure然后构建它.然而,事实证明,一些现有的模块,如ipv4-address不兼容c++11.因此,我想特别为我的新模块指定此标志,以便其他模块不会在c ++ 11上编译.
我试图在我的新模块中将其添加到wscript :
def configure(conf):
conf.env.append_value('CXXFLAGS', '-std=c++0x')
Run Code Online (Sandbox Code Playgroud)
它作为第一次试验失败了.
我怎样才能做到这一点?
bld.shlib(source='main.c',
target='myshlib',
cflags = ['-O2', '-Wall'],
cxxflags = ['-O3', '-std=c++0x'],
use = 'myobjects')
bld.objects(source='ip4.c',
cflags = ['-O2', '-Wall'],
cxxflags = ['-std=somethingelse'],
target = 'myobjects')
Run Code Online (Sandbox Code Playgroud)
注意#1 - 该代码由 wafbook 中提供的 2 个示例组成,根本没有经过测试。
注意 #2 - 您可能需要让 waf 知道生成的“myobjects”,否则它们可能不会用于构建“myshlib”,因为 waf在构建之前会索引所有文件。
| 归档时间: |
|
| 查看次数: |
6550 次 |
| 最近记录: |