问题标签 [bjam]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
1011 浏览

bjam - 在 Boost.Build 中禁用单元测试编译

Boost.Build文档在测试方面非常简洁。

我项目中的所有测试都是使用unit-test规则定义的。

文档中提到的唯一属性是testing.launcher,但只有在设置为 时才能禁用测试的执行testing.launcher=true

如何完全禁用unit-test规则编译?我想暂时这样做,例如,通过从命令行设置一个属性。我找不到如何执行此操作的任何信息或其他testing.*属性的任何参考文档。

0 投票
1 回答
4169 浏览

c++ - 如何使用 -g 调试标志编译 boost?

我想重新编译我们的 boost 库,但启用了 -g 调试标志。我一直在阅读并看到我们使用jam. 虽然我make很清楚,jam但一直躲避着我,我的挫败感越来越大。

0 投票
1 回答
23233 浏览

c++ - 如何构建boost静态库?

这有效,但不构建boost库的静态版本(也许我错了?)

尝试发出以下命令:

但它不起作用。

0 投票
1 回答
4846 浏览

c++ - 构建 Boost 1.49.0 时出现致命错误 C1027

我正在尝试使用 MSVC2010 构建 Boost 1.49.0,但失败并出现以下错误:

这是该错误的第一个实例,在构建中止之前,我的日志文件有 995 个相同错误的实例。

project-config.jam 的内容是:

我使用的构建命令是:

知道是什么原因造成的吗?

0 投票
3 回答
3151 浏览

cross-platform - 从 Jam 迁移到 CMake

我了解 Jam 构建现有项目,CMake 生成要构建的项目。但是,鉴于我宁愿生成可以在各种 IDE 中使用的项目,而不是尝试将 Jam 集成到这些 IDE 中,有没有人有任何经验/成功将 Jamfile 转换为 CMakeLists.txt 文件?

0 投票
2 回答
1154 浏览

c++ - Boost.Build/bjam 和 Qt

我正在尝试设置 Boost.Build .jamroot 文件来编译 Qt 4.8 项目,但它似乎忽略了应该 moc:ed 的 .ui 文件和 .cpp 文件。我尝试在 qt4.jam 中四处寻找,添加了更多 ECHO:s,但我不知道该去哪里找。

例如,似乎没有调用 uic-generator 的 run 方法(init 确实),但我认为应该如此。

我的 jamroot 文件如下所示:

我得到的唯一输出是:

如果我运行 bjam --debug-configuration,qt4.jam 会为我的 Qt 安装打印出所有正确的路径。

这是怎么回事?也许它与 Qt 4.8 不兼容?还是我只是用错了?尽管代码几乎是从examples/qt下的文件中逐字提取的。

我该如何使用它?谢谢你的帮助。

编辑:使用 gcc 4.7 和来自http://nuwen.net/mingw.html的 MinGW 发行版 9.0 ,以及 Boost 1.49.0 附带的 Boost.Build。

0 投票
1 回答
101 浏览

bjam - 让 bjam 在编译前运行一个脚本

是否可以让 bjam 在构建之前运行脚本?如果是这样,怎么做?我想在编译之前对代码应用补丁,但不想改变开发人员的正常工作流程。谢谢!

0 投票
1 回答
1838 浏览

visual-studio - 如何让 bjam 在其他目录中找到我的 .h 文件

我在 Visual Studio 2008 中维护此解决方案,但我使用 bjam 构建我的可交付成果。该解决方案包括 3 个项目。jamfiles 设置为构建解决方案的 2 个版本(例如 A 和 B),然后为每个版本构建 32 位和 64 位可执行文件。

我的问题是 bjam 没有为解决方案中的一个项目找到 .h 文件,从而产生以下错误。这些 .h 文件在物理上位于“包含”文件夹中上下 2 个目录。

如果我将 .h 文件复制到项目的 jamfile 所在的位置,错误就会消失,并且解决方案会完美构建。但是,我们必须将 .h 文件保存在“include”文件夹中。

我的问题是,如何指示 bjam 在“include”文件夹中查找 .h 文件?下面是有问题的项目的 jamfile,以及我的 site-config.jam 文件

任何提示将不胜感激。谢谢。

果酱文件:

0 投票
2 回答
834 浏览

c++ - Bjam 用于 gcov 覆盖率分析?

我希望为主要用 C++ 编写的项目集成一个重要的跨平台构建系统。到目前为止,我已经评估了 Cmake 和 Scons,虽然它们都代表了对 (GNU) make 的改进,但在我尝试使用这些工具的上下文中,这两种方法似乎既不优雅也不透明。这让我想到了 Boost Build (Bjam),我很受鼓舞的是,鉴于我的项目依赖于 Boost,bjam 应该已经可用于任何可行的目标平台。

我在尝试为库的单元测试巧妙地集成代码覆盖率时遇到了困难......以最终集成到构建服务器(如 Jenkins)中。虽然我愿意以 Bjam 最佳/标准实践为指导,但我认为我需要三个不同的“变体”:

  • release - 仅构建优化的静态库
  • debug - 构建非优化的静态库和单元测试
  • 覆盖 - 构建支持覆盖的库并与未启用覆盖的单元测试链接。

本质上,除了标准的调试和发布版本之外,我还想要一个专用的调试版本,它还可以收集覆盖率数据。

我需要使用(至少)g++ 和 msvc 构建......并且仅使用 g++ 使用 gcov 开关。这意味着我的库目标需要与单元测试可执行目标不同的“编译器标志”......并且仅适用于我的一个编译器套件......并且仅适用于一个变体。

我不清楚如何最好地使用 Bjam 来实现这一点——不过,我怀疑它应该是一个相当常见的用例。Bjam 是否明确支持 gcov 覆盖分析(可能使用 lcov 呈现结果)?如果没有,任何人都可以推荐一种支持上述(简化)方案的策略吗?

0 投票
1 回答
55 浏览

boost - 多个 Boost.Build 项目

我有两个项目使用 Boost.Build 引擎,结构如下:

如何从项目 2 触发项目 1 的构建过程,以及链接到项目 1 中生成的动态库?