BOOST 的使用(下载,编译,附加到项目使用)

BOOST库下载链接:https://www.boost.org/

我下载的是图中的版本。

我是Windows下,所以下载0.7z的(0.7z比0.zip小,建议下载0.7z)。

解压后,运行解压目录下的bootstrap.bat,它会生成不b2.exe(这个文件正式编译要用到)。

可以通过vs命令工具进行编译,我有两个版本,第一个是vs2015,第二个是vs2010,随便哪个都可以。你也可以直接在BOOST解压目录下新建一个bat文件,将编译命令赋值进去,点击运行。但是前提是你需要保证编译环境。

 

 

先编译64位的:(编译过程中可能需要好一段时间的哈)

打开x64位工具后,进入到BOOST的解压目录下,我的是这个位置:

编译64位静态库命令:

.\b2 stage --toolset=msvc-10.0 address-model=64 --stagedir="./stage/static/vc100/x64" --without-python --without-mpi --without-wave --without-graph --without-serialization link=static runtime-link=shared threading=multi debug release

编译完成后,删除bin.v2这个目录。编译的库在《解压的boost目录 /stage/static/vc100/x64》下

 

编译64位动态库命令:

.\b2 stage --toolset=msvc-10.0 address-model=64 --stagedir="./stage/shared/vc100/x64" --without-python --without-mpi --without-wave --without-graph --without-serialization link=shared runtime-link=shared threading=multi debug release

编译完成后,删除bin.v2这个目录。编译的库在《解压的boost目录 /stage/shared/vc100/x64》下

 

编译32位的:

关闭刚才的命令工具,打开32位的命令提示工具,VS下默认的就是32位的。同样进入到解压的boost目录下。

 

编译32位静态库命令:

.\b2 stage --toolset=msvc-10.0 --stagedir="./stage/static/vc100/win32" --without-python --without-mpi --without-wave --without-graph --without-serialization link=static runtime-link=shared threading=multi debug release

编译完成后,删除bin.v2这个目录。编译的库在《解压的boost目录 /stage/static/vc100/win32》下

 

编译32位动态库命令:

.\b2 stage --toolset=msvc-10.0 --stagedir="./stage/shared/vc100/win32" --without-python --without-mpi --without-wave --without-graph --without-serialization link=shared runtime-link=shared threading=multi debug release

编译完成后,删除bin.v2这个目录。编译的库在《解压的boost目录/stage/shared/vc100/win32》下

 

编译到这里就完成了。下面将BOOST库附加到项目中。

我用的是vs2015

(1)新建一个boost测试项目

(2)对项目的属性进行配置:


 

 

下面是我的测试代码,测试的是BOOST库中的智能指针。

 

#include<iostream>
#include<boost\shared_ptr.hpp>
using namespace std;

int main()
{
	boost::shared_ptr<int> ptr(new int);
	*ptr = 100;
	cout << *ptr << endl;
	system("pause");
	return 0;
}

 

如果不能运行成功,可以检测一下自己附加库目录是否正确,以及自己的环境是否配置正确

 

不知道是否有错误的地方,如果有,还请多包涵啊。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章