我在一个跨平台项目中工作(Windows、Linux、Solaris)。我想在这个项目中使用Boost的shared_ptr。
我该如何安装它,并将其与项目一起分发给客户?
由于我在Linux/Solaris上没有root权限,因此可能需要将Boost的源代码添加到我的源代码中,并一起构建它。
此外,我们的Solaris版本非常旧(2.5.1,1996年5月)。这会对shared_ptr的构建造成任何问题吗?
我在一个跨平台项目中工作(Windows、Linux、Solaris)。我想在这个项目中使用Boost的shared_ptr。
我该如何安装它,并将其与项目一起分发给客户?
由于我在Linux/Solaris上没有root权限,因此可能需要将Boost的源代码添加到我的源代码中,并一起构建它。
此外,我们的Solaris版本非常旧(2.5.1,1996年5月)。这会对shared_ptr的构建造成任何问题吗?
只需安装boost头文件即可(您无需编译和安装shared_ptr库,因为它是仅有头文件)。不要忘记检查IDE中的boost包含路径是否设置正确,以便能够找到头文件。
在您的代码文件中,包含此头文件:
#include<boost/shared_ptr.hpp>
并像这样使用:
boost::shared_ptr<int> ptrToInt (new int);
不需要包含Boost库的源代码(Boost是一个相当大的库)。只需将Boost包含在你的先决条件中。
如果以二进制形式重新分发项目,则根本不需要包含Boost库。
boost::shared_ptr
是一个头文件库,只需将必要的头文件添加到您的项目中即可完成。
shared_ptr
也是TR1的一部分,这是第一个C++库技术报告,例如包含在更新版本的GCC(>= 4.0.0)中(有关更多信息,请参见此处)。
shared_ptr.hpp
依赖于其他一些头文件。 - Kirill V. Lyadvinsky