Boost编译的一些注意事项

关于Boost的编译教程,网站上已经有很多。
本文参考的网站是:http://www.cnblogs.com/zhcncn/p/3950477.html,在此博客中博主已经将Boost编译的各种参数做了非常详尽的介绍。仅仅查阅此博客,便可成功的编译出Boost。
但是除此博客之外,还有一些应当注意的事项,在此博客中并没有完全提到,我对网上的资料加以整理,归纳到此博客中。

一、编译x64版本Boost
参考博客:http://www.cnblogs.com/codingmylife/archive/2012/11/05/2754778.html
之前我也以为,在编译Boost时,选用x64的命令窗口,编译出来的Boost自然也就是64位。然而,情况并不是如此!通常情况下,无论你使用哪种命令工具,默认编译的都是32版本;要想获取64位版本,必须还在编译指令中,添加新的指令:

bjam ... address-model=64 

二、编译boost-zlib
参考博客:http://blog.csdn.net/redeyerabbit/article/details/8246436
某些代码的依赖库中,会特别提示到使用boost-zlib;但是默认情况下,一般是不会编译该库。为编译该库,要在使用bjam或b2命令之前,首先对zlib进行设置,步骤如下:

  1. 下载zlib(http://www.zlib.net/)并解压
  2. 在生成bjam和b2之后,使用命令set ZLIB_SOURCE=" E:/zlib-1.2.7"
  3. 使用bjam或b2编译Boost

如此设置之后,编译的Boost库中,便会自带boost-zlib。

三、多线程模式
参考博客:http://www.cnblogs.com/dementia/archive/2009/04/10/1433217.html
假设大家都使用VS进行编程,那么一定熟悉“属性-C/C++-代码生成-运行库”处,多线程可以分为:MT、MTd、MD、MDd四种。如何编译得到不同类型的多线程运行库呢?其方式在于控制link、runtime-link、release、debug四个参数,其关系图如下:

linkruntime-link编译模式多线程类型
staticstaticreleaseMT
staticstaticdebugMTd
staticsharedreleaseMD
staticshareddebugMDd

总结,目前我在编译Boost时,遇到的问题大致如以上三种,后续如果有其他地方,再做补充!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值