如何编译64位( 64bit ) boost类库

本文详细介绍了在64位Windows(使用VS2005)和Linux平台上编译boost库的方法,包括使用bjam工具和设置address-model参数。通过编译过程中的注意事项和遇到的问题,帮助读者成功构建64位boost库。
摘要由CSDN通过智能技术生成
      64位windows平台,编译环境是VS2005,进入Visual Studio 2005 x64 Win64 Command Prompt(单纯的cmd也不一定不行,我没试)。把bjam.exe放在boost根目录下,进入根目录,执行:
        bjam --toolset=msvc address-model=64 --with-thread stage
      bjam --toolset=msvc address-model=64 --with-date_time stage
      关键选项:“address-model=64 ”
      64位Linux平台,使用gcc编译。进入boost根目录,执行:
      ./bjam --toolset=gcc --with-thread stage
      ./bjam --toolset=gcc --with-date_time stage
      linux平台下倒是简单,不过网上有篇文章介绍用如下命令编译,不知道是多此一举,还是适用于某些情况(非64位linux主机?)。
        ./bjam --toolset=gcc "-sBUILD=release <cxxflags>-m64" --with-thread stage
    ./bjam --toolset=gcc "-sBUILD=release <cxxflags>-m64" --with-date_time stage
 
    唉。命令都很简单,可浪费了我不少时间。usage根本没写,去看boost build的嘛,页数n多不说,看完之后能否找到答案还是未知数。网上相关资料很少而且大多南辕北辙,只好一直搜索+尝试。其实我只是想要个64位版本的库而已,这应该不是啥稀罕的需求吧?
   在windows平台下,编译出来的是否是64位类库,只有link 64位程序的时候才能发现。如果不是,link程序无法找到类库中定义的函数或者类。linux不知道,因为我整出来直接就是64位了,我也懒得再找一台32位linux主机折腾了。
    在1.37之后的boost,如果想要使用boost::thread库,必须有boost::date_time库。当然这件事情又一如既往很酷地没有出现在容易看到的地方。而是让你链接错误后再去玩抓虫游戏。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值