【问题标题】:How to add boost to my project?如何为我的项目增加动力?
【发布时间】:2010-08-05 08:58:48
【问题描述】:

我从事跨平台(Windows、Linux、Solaris)项目。我想在这个项目中使用 Boost 的 shared_ptr。

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

我在 Linux/Solaris 上没有 root 权限,所以我可能必须将 Boost 源添加到我的源中,然后一起构建它。

此外,我们的 Solaris 版本非常旧(2.5.1,1996 年 5 月)。会不会对shared_ptr的构建造成任何问题?

【问题讨论】:

    标签: c++ boost cross-platform shared-ptr


    【解决方案1】:

    只需安装 boost 头文件(您不需要编译和安装 shared_ptr 的库,因为它只是头文件)。不要忘记检查是否在您的 IDE 中设置了 boost 的包含路径,以便它能够找到头文件。

    在您的代码文件中,包含以下标头:

    #include<boost/shared_ptr.hpp>
    

    并像这样使用它:

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

    【讨论】:

      【解决方案2】:

      不需要包含 Boost 库的源代码(Boost 是一个非常大的库)。只需将 Boost 包含在您的先决条件中即可。

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

      【讨论】:

        【解决方案3】:

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

        shared_ptr 也是第一个 C++ 库技术报告 TR1 的一部分,例如包含在较新版本的 GCC (>= 4.0.0) 中(有关详细信息,请参阅 here)。

        【讨论】:

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

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

        【讨论】:

          猜你喜欢
          • 2019-10-05
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2020-11-29
          • 2010-10-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多