如何在boost build/b2/bjam中向列表追加元素
Boost Build (b2/bjam) 列表追加元素操作指南
最常用的基础方法:使用
+=操作符
这是最简洁的追加方式,直接将右侧传入的元素追加到目标列表末尾,无需额外引入其他规则,适用于绝大多数日常构建场景。
示例:# 初始化源文件列表 SRC = a.cpp b.cpp ; # 追加两个新的源文件 SRC += c.cpp d.cpp ;注意:如果元素本身包含空格,需要用双引号包裹元素避免被识别为多个列表项。
内置规则方法:使用
list.append
如果你在自定义构建规则(rule)中需要操作列表,或者需要更规范的列表操作接口,可以调用b2内置的list.append规则实现追加,语法为list.append <目标变量名> : <待追加元素>。
示例:# 给已有DEFINES列表追加编译宏 list.append DEFINES : ENABLE_DEBUG LOG_LEVEL=2 ;附加说明
- b2中所有变量默认都是列表类型,空格为天然的元素分隔符,追加操作默认不会自动去重,如果需要无重复的列表,可以在追加后调用
list.unique <目标变量名>完成去重。 - 两种追加方式都支持同时传入多个元素,一次完成批量追加。
- b2中所有变量默认都是列表类型,空格为天然的元素分隔符,追加操作默认不会自动去重,如果需要无重复的列表,可以在追加后调用
完整可运行示例:
# 完整使用示例 MY_FLAGS = -O2 -Wall ; # 用+=追加调试参数 MY_FLAGS += -g ; # 用list.append追加平台相关参数 if $(OS) = LINUX { list.append MY_FLAGS : -fPIC ; } # 输出最终列表 ECHO 编译参数:$(MY_FLAGS) ;
内容的提问来源于stack exchange,提问作者Gabriel Devillers
相关产品推荐
相关产品推荐

