vs2008+stlport下编译boost1_47_0 64位

废话少说,直接进入主题:

1.安装包准备:

由于我的开发机器已经安装了vs2008和stlport5.2.1,所以我只需要去boost官网下载了boost1_47_0,至于我为什么下载这个版本而不是最新,是因为最新的在安装过程中有点问题,而且这个版本在网上也有说明。


2.安装编译boost

需要使用vs2008的命令行工具,如下图:


使用红色框出来的命令行工具进行boost的编译。


启动命令行以后,进入boost安装包所在的目录,例如我的就是D:i\c++_regex\boost_1_47_0。

然后运行bootstrap.bat,会在当前目录中产生bjam.exe文件。

然后在D:\c++_regex\boost_1_47_0\tools\build\v2中找到user-config.jam文件,进行相关参数的配置:主要配置两个参数:

1)将# using msvc : 8.0 ; 改为 using msvc : 9.0 ;

2)将# using stlport :  : /usr/include/stlport : /usr/include/stlport/lib" ; 改为using stlport : 5.2.1 : "E:/STLport-5.2.1/STLport-5.2.1/stlport" : "E:/STLport-5.2.1/STLport-5.2.1/lib" ;

主要是告知编译器使用vs2008(9.0),使用stlport库。


下面就是使用bjam.exe来编译boost库了:

bjam --prefix=E:\Boost\boostinstall\4.7 --build-type=complete --with-regex toolset=msvc threading=multi address-model=64 runtime-link=static stdlib=stlport install

上面的命令行是我千辛万苦找到的比较全的,之前少了这个少了那个命令参数,导致编译出来的库缺少,下面就上面的命令行解释一下:

 --prefix : 表示你想编译的boost库存放路径,这个参数只有在install模式下有用

--with-regex:就是表示之编译boost的regex(正则库),因为我的程序目前只需要正则这部分。

toolset=msvc  : 因为配置文件里已经配置了msvc的版本,此处只需要告知编译器是msvc就行

 threading=multi:这个参数给出后,编译出的lib是带mt的,表示多线程使用

address-model=64:表示编译的是64位的boost库,用于64位程序使用 

runtime-link=static :编译出来的是静态库

stdlib=stlport : 使用stlport进行编译,这样编译出来的库会带上sp标识

最后加上install,按回车进行build,成功。


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值