编译链接到Boost及Boost库命名规则

    前段时间用需要单独编译一些Boost库,本能的先搜了下,发现介绍的太少。也没点到我想要的重点,无奈看文档吧!写下在VC7下使用总结:如有错误,欢迎指正!:-)

Boost库的编译采用Boost_Build, 一个类似于CMake的跨平台编译Make自动生成工具(Bjam)。

1、首先配置Bjam(见Boost_Build文档);
2、全编译:切换到boost根目录,运行bjam;
      部分编译:切换到待编译库的目录下,运行bjam --toolset=msvc;(参数有很多,具体使用时见文档即可)

注意:一般boost预先编译的库有MD版和MDd版。库名称为mt,mt_gd,具体如下:

当你的应用要链接到Boost库时,需要看boost库lib下提供哪种编译模式下的库,来决定cl的编译参数;

下面简单介绍下Boost库命名规则:

mt:多线程运行库DLL版

g:调试版

d:指定待编译工程的目标版本为Debug

例子如下:

// 此库是链接到vc runtime 多线程动态库
libboost_signals-vc71-mt-1_35.lib

// 此库是链接到vc runtime 多线程动态调试库,且待编译的工程为debug
libboost_signals-vc71-mt-gd-1_35.lib

// 此库是链接到vc runtime 多线程动态调试库,且待编译的工程为release
libboost_signals-vc71-mt-g-1_35.lib

// 此库是链接到vc runtime 多线程静态调试库,且待编译的工程为debug
libboost_signals-vc71-mt-sgd-1_35.lib

// 此库是链接到vc runtime 多线程静态调试库,且待编译的工程为release
libboost_signals-vc71-mt-sg-1_35.lib

一般boost的预编译库包含下面两个版本
libboost_signals-vc71-mt-1_35.lib
libboost_signals-vc71-mt-gd-1_35.lib

对应分别的cl编译参数为:
cl ***.cpp -EHsc -MD
cl ***.cpp -EHsc -MDd -D"_DEBUG"

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值