bjam 使用备忘录

编译静态库的时候,在相关 jam 文件中,添加如下代码。

# 默认编译配置(默认编译4种最常用的库类型)
    default-build =
        debug release
        <threading>multi
        <link>static
        ;
    if [ os.name ] = NT
    {
        default-build += <runtime-link>static <runtime-link>shared ;
    }

# 这里的 <tag> 配合下面的 tag rule 可以定义输出的文件名,这里使用仿 boost 规则的库文件名,不过删除了版本信息 
project name
    : requirements  <tag>@$(__name__).tag
    : build-dir bin
    : default-build $(default-build)
    ; 

# 按仿 boost 规则生成 lib 文件名
 rule tag ( name : type ? : property-set )
{
    if $(type) in STATIC_LIB SHARED_LIB IMPORT_LIB
    {
  return [ common.format-name
   <base> <toolset> <threading> <runtime> 
   : $(name) : $(type) : $(property-set) ] ;
    }
}

# 下面的代码把库 安装到 stage/lib 目录,这个一般应该放在根目录里的 jamfile 里,
# 这样在根目录里执行 bjam, 就可以直接编译所需要的库的各个版本,然后复制到 stage/lib 下

local libraries = lib1 lib2 lib3 ;

install stage
    :   $(libraries)
    :   <location>stage/lib
    ;

最后 修改 boost/config/auto_link.hpp 文件(去掉版本相关的代码),就可以创建你自己的,可以自动连接正确版本的库了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值