?

0,前提

Boost 库版本 1.57.0

下载地址

http://www.sxzhongrui.com/users/history/version_1_57_0.html,选择windows版本

编译器:VS2010?

编译目标:静态链接库

C/C++运行时库链接方式:/MT ?/MTd ? /医学博士? /MDd

官网给出的windows平台编译测试包括

Windows:

GCC,mingw:4.4.0、4.4.7。 4.5.4、4.6.3、4.7.2、4.7.3、4.8.0、4.8.2、4.9.0

Visual C++:8.0、9.0、10.0、11.0、12.0

编译步骤

1。通过VS2010命令提示符工具进入Boost库根目录

? ? ?例如:H:\Boost\boost_1_57_0

2。运行根目录下的批处理文件

? ? ?bootstrap.bat

3。执行bootstrap.bat后,生成4个文件

? ? ? ? b2.exe ? ? bjam.exe?引导程序日志? ?project-config.jam

? ? ? ??

4。使用bjam.exe编译boost库

? ? ?用bjam.exe编译Boost库的命令行参数详细参数请看这个链接

? ?

? ? ?bjam参数介绍

? ??链接参数

? ? ?表示生成静态链接库或生成动态链接库,link=static表示生成静态链接库,link=shared表示生成动态链接库。

? ??运行时链接参数

? ? ?表示C/C++运行库的使用方法,runtime-link=static表示静态链接C/C++运行库,runtime-link=shared表示动态链接C/C++运行库。

? ? ? --工具集参数

? ? ?编译boost库的工具集。 --toolset=msvc-10.0 标识使用VS2010进行编译。 VS版本与工具集版本对应关系如下:

? ? ?msvc-6.0 :??VC6.0

? ? ?msvc-7.0:??VS2003

? ? ?msvc-8.0:??VS2005

? ? ?msvc-9.0:??VS2008

? ? ?msvc-10.0:??VS2010

? ? ?螺纹参数

? ? ?表示是使用多线程库还是单线程库,single表示单线程,multi表示多线程

? ? ? debug ?release 标志生成调试或发布版本

? ? ?阶段参数

? ? ?表示只生成dll或lib,不生成包含include目录的头文件目录。 ?如果要生成包含头文件的include目录,需要使用install参数

? ? ?--stagedir参数

? ? ?表示生成目录的存放目录

? ? ?本文为每个库编译了4个boost中C/C++链接方法的静态链接库

? ? ?① /MT ? /MTd

? ? ??巴贾姆?阶段 ? ? --toolset=msvc-10.0 ?--build-type=complete ?--stagedir="H:\Boost\boost_1_57_0\bin\vc10" ? ?链接=静态? ?运行时链接=静态? ?线程=多?调试版本

? ? ?生成的库名称格式

? ? ? /MT:?libboost_atomic-vc100-mt-s-1_57.lib ? ? ?/MTd: ?libboost_atomic-vc100-mt-sgd-1_57.lib

? ? ?② /MD ? /MDd

? ? ??巴贾姆?阶段 ? ? --toolset=msvc-10.0 ?--build-type=complete ?--stagedir="H:\Boost\boost_1_57_0\bin\vc10" ? ?链接=静态? ?运行时链接=共享? ?线程=多?调试版本

? ? ?生成的库文件名格式

? ? ? /MD:?libboost_atomic-vc100-mt-1_57.lib? ? ? ? /MDd: ?libboost_atomic-vc100-mt-gd-1_57.lib

5。编译完成

??每种类型的 /MT?/MTd?/MD?/MDd 静态库各有 34 个库。

? ? ?编译完成后,删除boost目录下的bin.v2临时目录。

6。在VS中使用boost库? ?

? ?项目属性--VC++目录--include目录,设置为boost根目录

? ??

? ??

? ? ?项目属性--VC++目录--库目录,设置lib文件目录

? ??

? ?

7。参考资料

? ??VS2010编译Boost 1.56??

? ?编译Boost的详细步骤。适用于VC6 VS2003 VS2005 VS2008 VS2010??

转载于:https://www.sxzhongrui.com/cuish/p/4175491.html

1。编译

1。前往http://www.sxzhongrui.com/users/history/version_1_54_0.html下载最新版本的boost 1.54.0;

2.解压后,运行bootstrap.bat批处理文件,得到bjam.exe;

3、进入VS2010的命令提示符(方法:工具->Visual Studio 2010命令提示符),进入boost目录。 (比如我的boost目录:D:\boost_1_54_0)

4、进入“bjam --toolset=msvc-10.0 --build-type=complete stage”后,等待约1小时即可完成编译。编译后的lib文件位于stage\lib下,看起来像“boost_atomic-vc100-mt-1_54.lib”。

注:一般用途,可以选择编译boost库(毕竟完整编译需要很长时间)。比如我通常会编译以下常用的boost库system、thread、date_time、filesystem、serialization,以及对应的bjam命令如下:

bjam --toolset=msvc-9.0 架构=x86 地址模型=64 --with-system --with-thread --with-date_time --with-filesystem --with-serialization

其中:msvc-10.0表示编译成VC10.0(即VS2010)版本,对应的msvc-9.0表示编译成VC9.0(即VS2008)版本; ?address-model=64 表示编译成64位版本。如果省略此项,则默认编译为32位版本。

编译成功(1个多小时)。生成的lib位于D:\boost_1_54_0\stage\lib下。 1.54版本编译成功,已超过4G

2.配置vs2010环境

?1。新建一个vc控制台,编写代码

#include“boost/shared_ptr.hpp”

#包括

A 类 {

boost::shared_ptr no_;

公众:

A(boost::shared_ptr 否) : no_(否) {}

无效值(int i){

*no_=i;

}

};

B 类 {

boost::shared_ptr no_;

公众:

B(boost::shared_ptr 否) : no_(否) {}

int value() const {

返回*no_;

}

};

int main() {

boost::shared_ptr temp(new int(14));

A a(温度);

B b(温度);

a.value(28);

断言(b.value()==28);

}

2.在左上角的“解决方案资源管理器”中,右键单击项目名称-属性,打开属性页

??在配置属性--->C/C++常规--->附加包含目录中,D:\boost_1_54_0

在配置属性--->链接器--->常规---->附加库目录中,添加? D:\boost_1_54_0\stage\lib?

3. 运行代码。如果没有错误,说明配置成功。

1 安装

首先从官网(www.sxzhongrui.com)下载最新版本的boost源码,点击下载(由于某种原因,打开网站很慢),下载在网页中间

点击如下图,然后选择zip下载

2合辑

1、首先将解压后的文件夹boost_1_57_0重命名为boost(方便后面添加包),放到盘里,

这里以 C 盘为例,C:\boost

2.在源码中找到一个批处理bootstrap.bat,双击运行

此时会弹出Building Boost.Jam。过一会儿,源代码中就会添加一个新的文件 bjam.exe

3.运行bjame.exe进行编译(时间较长,大约20分钟)。

3调试

新建一个VS2010控制台应用程序,选择空项目->添加C++源文件

项目名称为hello,添加的cpp文件名也为hello.cpp

可以先用一下

int main(){

??????返回0;

}

测试完成后,可以编译,说明VS基础环境已搭建完成

将代码更改为以下代码

#包括

#包括

void hello() {

std::cout <<“世界你好,我是一个线程!” << std::endl;

}

int main() {

boost::thread thrd(&hello);

thrd.join();

返回0;

}

然后需要导入之前下载的boost包,开始下面的配置

右键项目名hello,选择Properties,选择C/C++,选择General,在附加包含目录后添加C:\boost

然后选择链接器,选择General,在附加库目录后面添加C:\boost\stage\lib

点击确定,然后调试工程,点击“调试”,点击“开始执行(不调试)”,运行成功即配置成功