C++ 如何为我的项目增加动力?

C++ 如何为我的项目增加动力?,c++,boost,cross-platform,shared-ptr,C++,Boost,Cross Platform,Shared Ptr,我在一个跨平台(Windows、Linux、Solaris)项目上工作。我想在这个项目中使用Boost的shared_ptr 如何安装它,并将其与项目一起重新分发给客户 我在Linux/Solaris上没有root权限,所以我可能必须向我的源代码中添加Boost源代码,并一起构建它 此外,我们的Solaris版本非常旧(2.5.11996年5月)。它会导致共享资源的构建出现问题吗?不需要包含Boost库的源代码(Boost是一个相当大的库)。只需在您的先决条件中包含Boost 如果您以二进制形式

我在一个跨平台(Windows、Linux、Solaris)项目上工作。我想在这个项目中使用Boost的shared_ptr

如何安装它,并将其与项目一起重新分发给客户

我在Linux/Solaris上没有root权限,所以我可能必须向我的源代码中添加Boost源代码,并一起构建它


此外,我们的Solaris版本非常旧(2.5.11996年5月)。它会导致共享资源的构建出现问题吗?

不需要包含Boost库的源代码(Boost是一个相当大的库)。只需在您的先决条件中包含Boost


如果您以二进制形式重新分发项目,则根本不需要包含Boost库。

Boost::shared_ptr
仅为标题。只需将必要的头文件添加到项目中,即可完成


<代码> SyddYpPTR/Cuth>也是第一个C++库技术报告的一部分,并且包含在GCC的新版本中(>4.0.0)(参见进一步信息)。< /P> < P>只需安装Boost头文件(不需要编译和安装SyrdY-PTR库,因为它仅为头)。不要忘记检查boost的include路径是否设置在IDE内部,这样它就可以找到头文件

在代码文件中,包括以下标题:

#include<boost/shared_ptr.hpp>
#包括
然后像这样使用它:

boost::shared_ptr<int> ptrToInt (new int);
boost::shared_ptr ptrToInt(新int);

您不需要太多的boost库就可以使用shared\u ptr。使用该工具仅提取shared_ptr所依赖的位,这可能比安装完整的库更可取。

请注意,
shared_ptr.hpp
依赖于其他一些头文件。Boost附带了一个名为
bcp
的程序来处理这个问题。它将检查您的源代码以找到您使用的boost头文件,并递归地遍历它们以构建最小集。我们在构建脚本中自动执行此操作,并且效果良好。