我从事跨平台(Windows,Linux,Solaris)项目。我想在这个项目中使用Boost的shared_ptr。
如何安装,并将项目重新分发给客户?
我在Linux / Solaris上没有root权限,所以我可能必须将Boost的源添加到我的源代码中,并将它们一起构建。
此外,我们的Solaris版本非常陈旧(2.5.1,1996年5月)。它可以导致构建shared_ptr的任何问题吗?
答案 0 :(得分:4)
不需要包含Boost库的源代码(Boost是一个非常大的库)。只需在您的先决条件中包含Boost。
如果您以二进制形式重新分发项目,则根本不需要包含Boost库。
答案 1 :(得分:4)
只需安装boost头文件(您不需要为shared_ptr编译和安装库,因为它只是头文件)。不要忘记检查是否在IDE内部设置了boost的包含路径,因此它将能够找到头文件。
在您的代码文件中,包含此标头:
#include<boost/shared_ptr.hpp>
并像这样使用它:
boost::shared_ptr<int> ptrToInt (new int);
答案 2 :(得分:3)
boost::shared_ptr
仅限标题。只需将必要的头文件添加到项目中即可完成。
shared_ptr
也是TR1的一部分,TR1是第一个C ++库技术报告,例如包含在较新版本的GCC中(&gt; = 4.0.0)(有关详细信息,请参阅here)。
答案 3 :(得分:3)
您只需要使用shared_ptr就不需要太多的boost库。使用bcp工具仅提取shared_ptr所依赖的位,这可能比安装完整库更可取。