如何使用常规makefile构建一个与boost相关的项目?

时间:2010-01-05 01:12:22

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

我正在开发一个c ++项目,我们最近需要在其中加入一小部分的提升。增强部分非常简单(Boost :: Python),因此,使用bjam来构建一切看起来像是一种矫枉过正(此外,每个参与该项目的人都对make感觉很舒服,并且没有堵塞的知识)。

我已经进行了一些测试,但是我找不到一种方法可以将以前提到的库包含在我的makefile中,并使构建成功。

你所有的帮助都是非常苛刻的。 :)

4 个答案:

答案 0 :(得分:4)

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

但是,这并没有回答你的问题。您可能需要考虑单独构建Boost.Python库并将其直接检入源控制系统。然后没有人需要建造它们。

答案 1 :(得分:2)

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

答案 2 :(得分:1)

如果您对bjam感到不舒服,可能需要考虑使用Boost.Cmake 或者,你应该至少能够通过bjam文件更容易地看到他们正在做什么。

答案 3 :(得分:1)

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