代码之家  ›  专栏  ›  技术社区  ›  KcFnMi

在传送源代码时省略未使用的boost src文件的策略

  •  0
  • KcFnMi  · 技术社区  · 8 年前

    我在用

    #include <boost/numeric/ublas/matrix.hpp>
    

    事实上,这是我唯一包含的boost文件。现在我想发布源代码,我希望不必包含所有数百mbs的 boost_1_67_0 是的。

    如何处理这个问题?

    2 回复  |  直到 8 年前
        1
  •  1
  •   Ole Thomsen Buus    8 年前

    这只是一个你可以添加到C++源代码构建依赖列表中的东西。

    这种依赖性在技术上可以通过版本控制系统“绑定”到源代码发行版。在 Git ,例如,您可以通过链接到其官方git镜像的子模块链接到某些boost库。( github.com/boostorg 在本文中)。克隆存储库时,可以同时使用boost库。

    不过,考虑到boost头文件的大小,将它们作为系统范围的库安装可能不那么复杂。工具,如 CMake 可以帮助您编写头包含的逻辑,以便支持不同的头位置。

    当然,如果您所寻求的是创建源代码的完全隔离副本,那么将所有代码烘焙到一个大型头文件中的方法也可能是一个选项(但不应该是必需的)。

        2
  •  1
  •   John Zwinck    8 年前

    您可以预处理所需的一个头文件,它将展开它的所有包括:

    c++ -E /usr/include/boost/numeric/ublas/matrix.hpp -o boost_numeric_ublas_matrix.hpp
    

    但是要注意:这将扩展甚至你的系统头文件,所以它假设你的用户将在同一个平台上构建。如果它们可能在不同的平台上编译,那么您应该简单地从项目中省略boost代码,让用户自己以他们选择的任何方式安装它。