1.下载boost库
打开https://sourceforge.net/projects/boost/files/boost-binaries/网页,假定你安装Visual Studio的路径为C:\Program Files (x86)\Microsoft Visual Studio 10.0,那么最后的那个10对应的版本就是 boost_1_76_0-msvc-10.0-32.exe。
2.安装
双击安装,打开安装的文件夹,默认为C:\local\boost_1_76_0
3.编译
运行bootstrap.bat,会在当前目录(C:\local\boost_1_76_0)生成bjam.exe,如果没有的话看看这个路径有没有(C:\local\boost_1_76_0\tools\build\src\engine),有的话就拷贝一份到C:\local\boost_1_76_0,没有的话就是编译失败了,可以在bootstrap.bat文件最后加上pause,暂停查看失败原因。
4.编译生成bcp工具
在当前目录打开命令行工具,输入
bjam.exe ./tools/bcp
以生成bcp工具,生成的工具为C:\local\boost_1_76_0\dist\bin\bcp.exe拷贝一份bcp.exe放入C:\local\boost_1_76_0中
5.裁剪得到boost智能指针文件
在C:\local\boost_1_76_0新建一个文件夹output,在当前目录打开命令行工具,输入
bcp.exe boost/shared_ptr.hpp output
等待一下就会在output目录下得到裁剪好的智能指针文件了
6.使用
创建一个空的vc控制台程序,将output中的boost文件夹拷贝到工程目录下(如:我创建了一个SmartPointer的项目,则其路径为C:\Users\admin\source\repos\SmartPointer\SmartPointer\boost),回到Visual Studio中,点击“项目”菜单,选择“显示所有文件”。再到解决方案资源管理器中,右键点击boost文件夹,选择“包括在项目中”。右键点击SmartPointer工程,选择“属性”,再选择“VC++ 目录”,在“包含目录”一项中添加$(SolutionDir)SmartPointer\ 。为工程添加一个main.cpp文件,输入以下代码进行测试:
#include <boost/smart_ptr.hpp>
#include <iostream>
class test
{
public:
void print()
{
std::cout << "test" << std::endl;
}
};
int main()
{
boost::scoped_ptr<test> p(new test);
p->print();
boost::shared_ptr<test> ptr_1(new test);
ptr_1->print();
boost::shared_ptr<test>ptr_2 = ptr_1;
ptr_2->print();
return 0;
}
成功编译、运行即为成功。