芝麻杂记

【写的是芝麻大的小事情】

Get boost

 

春节期间有个愿望就是看看boost,写几行代码学习下。选择了boost.asio,想熟悉了之后和ACE库(比如Proactor framework)做一下比较。可惜生性慵懒,放假期间一直忙于测试腾讯的小游戏,所以没有做这件事情。上班前一天终于得闲,有功夫折腾了。

 

懒得自己编译boost库了,去boostpro上下载比自己编译来的快。下载了boost 1.37版本的multi-thread DLL (dbg & rel)。编译代码后发现链接错误说是找不到库libboost_system-vc80-mt-gd-1_37.lib, 这个库是boost.system的静态库。我打算用动态库,于是修改boost/config/user.hpp:

 

// #define BOOST_ALL_DYN_LINK

 

去掉//。boost 看到这个宏定义后会自动连接动态库,否则默认会使用静态链接。

 

在网上看到有人也遇到我一样的问题,提出的方法是将文件boost_signals-vc80-mt-gd-1_37.lib重命名成libboost_system-vc80-mt-gd-1_37.lib,这样做肯定是不合适的。上边修改boost/config/user.hpp的方法才是正解。

 

通过连接之后发现了新的问题 - 程序初始化的时候出错 Application failed to initialize properly。Google一番后得出结论:VS 2008安装时破坏了VS 2005中CRT的manifest,解决办法呢?第一, 可以尝试重新安装VS 2005的运行时;第二,在我的环境中编译boost。我选择了第二个方法,尽管编译boost很费时。

 

编译完成后,一切ok。打完收工!

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Bruce Jia(上海)

熬夜码字换酒钱

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值