C++ windows boost 编译
来源:互联网 发布:商品抢购软件 编辑:程序博客网 时间:2024/06/05 20:55
1.下载boost
从boost官网( http://www.boost.org )上下载,指定版本可以从 http://www.boost.org/users/history 下载
b2 toolset=msvc-10.0 --layout=versioned architecture=x86 address-model=64 link=static variant=debug,release threading=multi runtime-link=static --without-python --without-mpi --without-wave --without-graph --without-math --without-serialization stage
使用不同的命令对你使用boost也会产生很大的影响,因为CPU速度和硬盘现在都已经不是大问题了,所以本例中选择了除了不必要库的完全编译,当然了,你时间够,硬盘够,可以完全编译
b2 --toolset=msvc-10.0 --build-type=complete
解释完以上的命令后,再说完全编译的后果。
1.toolset:表示编译器工具,我安装的是VS2010,所以是msvc-10.0;
具体的版本对应关系,可以查看boost_1_62_0\tools\build\src\tools\msvc.jam中的# Version aliases节
# Version aliases.
.version-alias-6 = 6.0 ;
.version-alias-6.5 = 6.0 ;
.version-alias-7 = 7.0 ;
.version-alias-8 = 8.0 ;
.version-alias-9 = 9.0 ;
.version-alias-10 = 10.0 ;
.version-alias-11 = 11.0 ;
.version-alias-12 = 12.0 ;
.version-alias-14 = 14.0 ;
2.architecture:表示架构,也就是你的CPU架构,x86,x64,因为我安装的是win7 32位,所以使用了x86的架构
3.instruction-set:表示指令集,依然是8086指令集
4.address-model:表示地址长度为32位
5.link:表示生成动态/静态链接库,动态链接库是shared,静态链接库是static,一般都会编译成静态库,因为给出程序的时候打包boost的库会非常庞大
6.variant:表示生成的Debug或者release版本,一般情况下会两种版本都会编译出来的
7.threading:表示单/多线程编译,一般我们的程序都会用到多线程,所以选择了multi
8.runtime-link:表示动态/静态链接C/C++运行时库(C/C++ Runtime),我们选择了动态链接
9.without/with:表示不需要编译/需要编译哪些库,一些自己不用的库可以无需编译
10.stage/install:stage表示只生成库文件(DLL和Lib),install还会生成包含头文件的include目录,推荐使用stage,因为boost_1_62_0\boost中就是boost库完整的头文件,所以无需再拷贝一份出来。编译出来的库会放在stage文件夹中
这样一份完整的boost库就生成了,剩下就是直接使用到项目中了。
从boost官网( http://www.boost.org )上下载,指定版本可以从 http://www.boost.org/users/history 下载
2.编译安装boost
boost_1_62_0目录下会有一个bootstrap.bat批处理,需要在visual stuadio 的命令提示窗口执行,如下图:
会在 boost_1_62_0\tools\build\v2 文件夹下生成两个exe:b2.exe和bjam.exe,并且自动拷贝这两个文件到boost_1_62_0目录下。
从visual stuadio 的命令提示窗口进入到boost_1_62_0路径下,输入如下命令:
b2 toolset=msvc-10.0 --layout=versioned architecture=x86 address-model=64 link=static variant=debug,release threading=multi runtime-link=static --without-python --without-mpi --without-wave --without-graph --without-math --without-serialization stage
使用不同的命令对你使用boost也会产生很大的影响,因为CPU速度和硬盘现在都已经不是大问题了,所以本例中选择了除了不必要库的完全编译,当然了,你时间够,硬盘够,可以完全编译
b2 --toolset=msvc-10.0 --build-type=complete
解释完以上的命令后,再说完全编译的后果。
1.toolset:表示编译器工具,我安装的是VS2010,所以是msvc-10.0;
具体的版本对应关系,可以查看boost_1_62_0\tools\build\src\tools\msvc.jam中的# Version aliases节
# Version aliases.
.version-alias-6 = 6.0 ;
.version-alias-6.5 = 6.0 ;
.version-alias-7 = 7.0 ;
.version-alias-8 = 8.0 ;
.version-alias-9 = 9.0 ;
.version-alias-10 = 10.0 ;
.version-alias-11 = 11.0 ;
.version-alias-12 = 12.0 ;
.version-alias-14 = 14.0 ;
2.architecture:表示架构,也就是你的CPU架构,x86,x64,因为我安装的是win7 32位,所以使用了x86的架构
3.instruction-set:表示指令集,依然是8086指令集
4.address-model:表示地址长度为32位
5.link:表示生成动态/静态链接库,动态链接库是shared,静态链接库是static,一般都会编译成静态库,因为给出程序的时候打包boost的库会非常庞大
6.variant:表示生成的Debug或者release版本,一般情况下会两种版本都会编译出来的
7.threading:表示单/多线程编译,一般我们的程序都会用到多线程,所以选择了multi
8.runtime-link:表示动态/静态链接C/C++运行时库(C/C++ Runtime),我们选择了动态链接
9.without/with:表示不需要编译/需要编译哪些库,一些自己不用的库可以无需编译
10.stage/install:stage表示只生成库文件(DLL和Lib),install还会生成包含头文件的include目录,推荐使用stage,因为boost_1_62_0\boost中就是boost库完整的头文件,所以无需再拷贝一份出来。编译出来的库会放在stage文件夹中
这样一份完整的boost库就生成了,剩下就是直接使用到项目中了。
阅读全文
0 0
- [c] windows下编译boost 1.55.0
- boost Windows x64 编译
- Windows 编译Boost
- [boost] Windows下编译
- windows 编译boost
- C++ windows boost 编译
- windows-qt 使用mingw编译c++boost并使用
- 【C++】编译 boost
- boost::asio脱离boost独立编译(windows)
- windows下编译boost库
- 在Windows下编译Boost
- boost库编译,windows/linux
- boost库编译,windows , vs2008
- Boost windows x64版本编译
- boost编译(windows平台)
- WINDOWS下BOOST库编译
- Boost-Windows安装和编译
- Windows VS boost 安装编译
- Android安卓——数据存储之数据库存储
- vue项目开发实战(二)——vue项目打包
- 利用神经网络内部表征可视化class-specific image regions区域
- MySQL函数大全及用法示例
- 解析题
- C++ windows boost 编译
- svn--8.工具的使用
- ABAP学习练习 变量的创建及内表的操作
- 面试感悟:3年工作经验java程序员应有的技能
- aidl的使用
- CI发送到邮箱功能(支持发送附件)
- 区块链领域投资看涨 利好区块链创业团队
- vs中利用openmp进行并行运算
- 常用的adb指令