【问题标题】:How to build a boost dependent project using regular makefiles?如何使用常规 makefile 构建依赖于 boost 的项目?
【发布时间】:2011-01-01 11:44:48
【问题描述】:

我正在开发一个 c++ 项目,我们最近需要在其中加入一小部分 boost。 boost 部分真的很小(Boost::Python),因此,使用 bjam 构建一切看起来有点矫枉过正(此外,从事该项目的每个人都对 make 感到满意,并且没有 jam 知识)。

我已经做了很多测试,但是我找不到将之前提到的库包含在我的 makefile 中并使构建成功的方法。

非常感谢您的所有帮助。 :)

【问题讨论】:

    标签: c++ boost build-process makefile boost-python


    【解决方案1】:

    您可以使用 Boost 的 bcp utility 仅提取您需要的 Boost 子集。 这将最大限度地减少您的构建时间和大小。

    不过,这并不能回答您的问题。您可能需要考虑单独构建 Boost.Python 库并将它们直接检查到您的源代码控制系统中。那么就没有人需要建造它们了。

    【讨论】:

      【解决方案2】:

      我遇到了同样的问题,并在 tutorial 中找到了解决方案。您 1) 需要使用 -fPIC gcc 选项将源代码编译成目标文件,以及 2) 使用 -shared gcc 选项将此对象编译成库。当然,您还必须链接到 Boost.Python 库(通常是 -lboost_python,但是对于我的 debian 系统,它是例如 -lboost_python-mt-py25,我还必须添加 -I/usr/include/pythyon25)。在我的 makefile 中,我最终在一个命令中完成了这两个步骤。另见第13 个presentation

      【讨论】:

      • 谢谢。这正是我正在寻找的答案。 :)
      【解决方案3】:

      如果您对 bjam 不满意,不妨考虑使用 Boost.Cmake
      或者,您至少应该能够比使用 bjam 文件更轻松地看到他们在做什么。

      【讨论】:

        【解决方案4】:

        从 makefile 运行 bjam,仅用于构建该部分

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2014-01-23
          • 1970-01-01
          • 1970-01-01
          • 2020-07-24
          • 1970-01-01
          • 2023-03-13
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多