8

我是 Boost C++ 库的新手。我想知道 Boost bjam 是否比 GNU make 有任何优势?如果我使用 make 来使用 Boost.Python 库构建 C++ 代码,有什么缺点?

4

3 回答 3

6

到目前为止,对于构建 boost 本身,bjam 是要走的路。只需按照自述文件构建命令行即可。您可能(应该)在每个增强版本中只需要执行一次。

但是,没有必要将您自己的使用 boost 的项目绑定到 boost 的构建系统。

使用 gmake 构建使用 Boost.Python 的 C++ 代码并没有特别的缺点,优点是周围有很多使用 gmake 的示例。

于 2009-05-17T19:21:01.900 回答
2

如果您打算使用其他 Boost 库,那么使用 bjam 可能是有意义的,但是从简单的角度来看,对于一个复杂的项目来说,使用 make 非常复杂,这就是开发 ant 的原因。

Bjam 扩展了其他开始尝试替换 make 的项目。

但是,不利的一面是,在每个 unix 操作系统上都可以找到 make,bjam 不是,但是,如果您必须为您的项目使用 Boost 库,那么您可以确定它被包含在内。

对于您的项目,我认为 bjam 可能是最佳选择,但如果您正在编写一个其他人需要使用 ANSI C++ 编译的可移植项目,那么我建议您也支持 GNU Make。

于 2009-05-17T04:42:09.807 回答
0

我使用 Make 和 BJam 构建了团队共享的构建框架。我的最终意见是,一旦我了解了基本设置,bjam 实现就更容易维护。团队成员一开始可能会抗拒,但一旦他们使用它并看到它比 Make 简单得多(我的观点),他们就被说服了。有些人会继续反抗。您可以设置双重构建系统,但这是额外的努力。

当我被迫使用 Make 时,我使用中央规则集创建非递归 makefile 解决方案。BJam 内置了所有这些功能。

于 2014-06-12T16:11:59.167 回答