migration - 什么是 Boost Jam? Jam 值得迁移到吗?

标签 migration build-system jam bjam

什么是 Boost Jam? Jam 值得迁移到吗?

我知道 jam 是由 perforce 构建的构建系统,但是我不确定 boost jam 和常规 jam 有何不同。

我也希望 SO 社区中有人使用过它,也许可以强调一些差异和/或好处。

最佳答案

我使用 Boost Jam 进行跨平台 C++ 开发。我选择它是因为

  • 我希望我的代码能够在 Boost 构建的任何地方构建,
  • 它使用相对简单的声明性语言来指定如何构建目标,并且
  • 它可以在一次调用中构建所有不同风格的二进制文件(例如调试与发布、32 位与 64 位、msvc 与 gcc),并且构建中与风格相关的异常绝对最少声明。

您可以使用特定于 flavor 的设置来细化通用规则,而不是为每种 flavor 排列编写单独的规则。该语法并不完全是我所选择的,但并不难习惯。

本文将 Boost Jam 与 CMake、SCons 和 Eclipse CDT 进行了比较:http://syrcose.ispras.ru/2009/files/04_paper.pdf

我的理解是,Boost Jam 是由 Boost 社区维护的 Perforce Jam 的一个分支,并且 Perforce Jam 不再被积极维护(release notes 的最后一次更新是在 2003 年 4 月)。

当然,如果您不关心跨平台开发,还有更简单的方法可以选择,正如其他人在这里提到的那样。就我个人而言,我一直想重新审视 Eclipse CDT; 5 年前它似乎无法使用,但我听说它已经取得了很大的进步。

关于migration - 什么是 Boost Jam? Jam 值得迁移到吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/512202/

相关文章:

android - 迁移到AndroidX后无法在设备上运行。守护程序启动失败,导致任务 ':app:mergeDebugResources'失败

c++ - 如何以崇高的文字3编译多个文件

compilation - 如何用 Zig 进行条件编译?

c++ - 如何通过果酱传递cflags

数据迁移中的 Django & South : Custom field methods are not executed when doing obj. save()

ruby-on-rails - rails : How to delete a pending migration

mysql - 从 MySQL 迁移到 mongo 的空值

c++ - 最小的 GNU Make 构建系统

c++ - 构建 boost-python 示例