BOOST安装或编译

Boost库是为C++语言标准库提供扩展的一些C++ 程序库 的总称。
Boost库由Boost社区组织开发、维护。其目的是为C++程序员提供免费、同行审查的、可移植的程序库。 Boost库 可以与C++标准库完美共同工作,并且为其提供扩展功能。
Boost库使用Boost License来授权使用。
大部分boost库功能的使用只需包括相应头文件即可,少数(如正则表达式库,文件系统库等)需要链接库。里面有许多具有工业强度的库,如graph库。
  • 已编译Boost安装

根据VS版本和操作系统位数下载合适的版本安装
Name Modified Size Downloads / Week Status
Parent folder
SHA256SUMS.asc 2016-09-27 2.4 kB 3 i
SHA256SUMS 2016-09-27 1.5 kB 4 i
DEPENDENCY_VERSIONS.txt 2016-09-27 397 Bytes 86 i
boost_1_62_0-msvc-9.0-64.exe 2016-09-27 260.5 MB 175 i
boost_1_62_0-msvc-9.0-32.exe 2016-09-27 233.1 MB 106 i
boost_1_62_0-msvc-8.0-64.exe 2016-09-27 258.6 MB 12 i
boost_1_62_0-msvc-8.0-32.exe 2016-09-27 229.5 MB 13 i
boost_1_62_0-msvc-14.0-64.exe 2016-09-27 277.0 MB 1,303 i
boost_1_62_0-msvc-14.0-32.exe 2016-09-27 255.4 MB 626 i
boost_1_62_0-msvc-12.0-32.exe 2016-09-27 244.8 MB 301 i
boost_1_62_0-msvc-12.0-64.exe 2016-09-27 267.3 MB 447 i
boost_1_62_0-msvc-11.0-64.exe 2016-09-27 273.0 MB 77 i
boost_1_62_0-msvc-10.0-64.exe 2016-09-27 257.4 MB 117 i
boost_1_62_0-msvc-11.0-32.exe 2016-09-27 250.1 MB 28 i
boost_1_62_0-msvc-10.0-32.exe 2016-09-27 235.1 MB 68 i
boost_1_62_0-bin-msvc-all-32-64.7z 2016-09-26 1.5 GB 161 i
boost_1_62_0-32bitlog.txt 2016-09-26 30.0 kB 22 i
boost_1_62_0-64bitlog.txt 2016-09-26 23.6 kB 16 
Totals: 18 Items   4.6 GB 3,565  
安装后设置系统变量 BoostDir和BoostLibs

在VS工程中创建两个宏 $(BoostDir), $(BoostLibs),就可以不用使用绝对路径了。

  • BOOST源码编译
源码 https://sourceforge.net/projects/boost/ ,下载后解压

从开始--Microsoft Visual Studio 2013找到 Visual Studio Tools:


打开文件夹,选择VS2013 x86 Native Tools Command
双击,打开命令窗口

切换到boost_1_62_0目录

首先需要运行bootstrap.bat来生成boost库的编译引擎:b2.exe,bjam.exe(很重要)。
运行C:\boost_1_62_0\bootstrap.bat

编译,可以简单的使用b2 install,也可以指定存放目录。
// 如果要获取动态库
bjam install stage --toolset=msvc-12.0 --stagedir="C:\boost_1_62_0\lib64-msvc-12.0" link=shared runtime-link=shared threading=multi debug release  
// 如果是要获取静态库:
bjam install stage --toolset=msvc-12.0 --stagedir="C:\boost_1_62_0\lib64-msvc-12.0" link=static runtime-link=static threading=multi debug release  

注意:
  1. 修改--toolset=msvc-12.0,将12.0修改成对应的vs版本号,12.0是VS2013的版本号。
  2. 目标地址也要修改成你所需的。
  3. 不要漏了install,它会帮你把头文件集合到一个文件夹中。      编译过程有一个复制过程,编译需要的时间比较长,本次编译过程中,会在C盘根目录下生成一个boost文件夹,然后包含include和lib文件夹,这就是我们将要使用的头文件和库文件。

  • 编译boost.Python库生成动态连接库
bjam stage address-model=64 architecture=x86 --toolset=msvc-12.0 --with-python --stagedir="C:\boost_1_62_0\lib64-msvc-12.0" link=shared runtime-link=shared threading=multi debug release

出现:python error LNK2001
解决办法:设置Python路径和版本
set PYTHON_ROOT=c:\Python27set PYTHON_VERSION=2.7
成功


  • bjam程序的输入参数
(1)stage/install:
stage表示只生成库(dll和lib),install还会生成包含头文件的include目录。
(2)toolset:
指定编译器,可选的如borland、gcc、msvc(VC6)、msvc-9.0(VS2008)、 msvc-12.0( VS2013 等。
(3)without/with:
选择不编译/编译哪些库。根据各人需要进行选择,默认是全部编译。
如果选择编译python的话,是需要python语言支持。
(4)stagedir/prefix:
stage时使用stagedir,install时使用prefix ,表示编译生成文件的路径。
(5)build-dir:
编译生成的中间文件的路径。
(6)link:
生成动态链接库/静态链接库。生成动态链接库需使用shared方式,生成静态链接库需使用static方式。一般boost库可能都是以static方式编译,因为最终发布程序带着boost的dll感觉会比较累赘。
(7)runtime-link:
动态/静态 链接C/C++运行时库 。同样有shared和static两种方式,这样runtime-link和link一共可以产生4种组合方式。
(8)threading:
单/多线程编译。一般都写多线程程序,当然要指定multi方式了;如果需要编写单线程程序,那么还需要编译单线程库,可以使用single方式。
(9)debug/release:
编译debug/release版本。一般都是程序的debug版本对应库的debug版本,所以两个都编译。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值