问题标签 [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 投票
1 回答
625 浏览

c++ - 如何创建简单的 Boost.Build make 文件,其中包含指向我在 Windows 和 Linux 上使用的库的链接?

main.cpp这应该是可执行的 C++ 应用程序。这将取决于

  • 需要首先编译 Lib1(在 main.cpp 之前) project-lib(在一些单独的文件夹中包含 lib1.h 和 lib1.cpp)
  • 'Lib2.lib' 及其依赖给定的预编译库(例如跨平台 OpenCV)

我需要它在 Windows 和 Linux 上工作,如果可能的话在 Mac OS 上工作

为 Windows 找到:看这里 - “常见任务”第 26 页

我希望从 Boost 创建者那里获得更好的 - 更易读的语法......顺便说一句

到底是做什么的

在 Windows 上,如果应用程序使用共享库,并且应用程序和库都是使用 Boost.Build 构建的,则无法立即运行应用程序,因为 PATH 环境变量应该包含库的路径。这意味着您必须手动添加路径,或者让构建将应用程序和库放在同一目录中。

意思是?我不能有一个包含 2 个嵌套项目的项目 - 一个用于 .lib,一个用于使用该 .lib 的应用程序?

有了这个,我看到了如何连接 1 .lib 但如何将文件夹与它们连接?以及如何连接包括?当我去 Linux 时,会发生什么变化?

我的 bjam make/config 文件应该是什么样子?

0 投票
1 回答
5570 浏览

c++ - 在msys下构建boost,找不到mingw.jam

我需要构建 boost 以使用正则表达式库。我能够像这样使用 bootstrap.sh 创建 bjam:

注意 - 如果我省略 --with-toolset=mingw 参数编译失败 - 引导程序找不到 wait.h、resource.h、ar.h。使用 mingw 工具集参数,bjam 能够编译。然后我运行 bjam 并得到:

我尝试了几种参数变体并得到相同的错误:

不知道如何让 bjam 构建。有什么建议么?

0 投票
2 回答
7571 浏览

c++ - 如何为 msvc9.0 而不是 msvc10.0 构建 boost?

我运行了引导批处理,然后运行了 bjam exe,但由于我有 MSVC 2010,它会在 $boost\stage\lib 中生成-vc100-文件。

我正在使用 vc90 库,所以我需要 *-vc90-* 文件,但是如果我将--toolset=msvc-9.0选项传递给 bjam,它会给我以下错误:

对于每个文件。

(顺便说一句:如果没有指定选项,它会毫无问题地为 vc100 生成库)

编辑:
在此处 添加以下命令的build.log :

任何人都可以帮助我吗?谢谢!

0 投票
1 回答
357 浏览

c++ - 使用 Boost.build 自动包含目标文件

我正在使用 boost 1.46 中的最新版本的 boost-build。鉴于main.cpp这取决于a.hand b.h,使用 boost-build 的自动检测依赖关系的能力,我的 jam 文件很简单

但是,如果有一个实现文件,则不会生成或链接b.cpp该对象b.o。我希望我的构建脚本最小化,并且每次添加新文件时都不需要调整。那么,我怎样才能自动做到这一点?

编辑以反映真实意图与我所要求的。

0 投票
1 回答
294 浏览

boost - bjam 脚本输出定义

是否可以从 bjam 脚本写入控制台定义?我有类似 $(PROJECT_ROOT) 的东西,我想回应它。

0 投票
1 回答
867 浏览

scons - 使用 Scons、bjam 和/或 cmake 自动生成包配置文件

嘿 Stackoverflowers:一个评论和一个问题。

评论:你们很棒,谢谢你的关注。

问题:

Bjam、Scons 或 Cmake 可以轻松地为库项目安装 .pc 文件吗?

我发现我必须在我的 scons/bjam/make 文件、.pc 文件(用于库)和 rpm/deb 包配置文件中维护相同的库依赖项列表,这真的很烦人。

如果构建工具可以管理构建和安装元数据,那就太好了。

想法?

0 投票
4 回答
25458 浏览

gcc - 无法使用 GCC 构建 Boost 库

我正在使用 Windows 7 64 位,并且想从命令行编译非预编译库(特别是我需要文件系统)(我不使用 MSVC)。我有 MinGW,但在 Boost 网站上读到不支持 MSYS shell,所以我试图从 Windows 命令提示符编译库。

首先,运行 bootstrap.bat 会出现以下错误:

另外,在 boost_root 目录中的任何地方都没有 bjam.log 文件。

忽略此错误,并尝试运行下载的 bjam.exe 文件,我收到另一个错误:

等等有很多抱怨。设置“架构”和“地址模型”选项没有帮助。

有什么建议么?

@安德烈

按照 Andre 的建议,我创建了 minGW-bjam,它运行了一个半小时并构建了大部分库,但不是我现在需要的:Filesystem。试图只编译文件系统,指定版本 2define="BOOST_FILESYSTEM_VERSION=2"--disable-filesystem3没有帮助。我收到以下错误:

等等,有很多...failed陈述。

这里有什么提示吗?

0 投票
1 回答
2392 浏览

c++ - bjam 运行时链接=静态

我正在尝试以使 execgcc静态链接到的方式进行编译。我认为跑步bjam link=static runtime-link=static应该可以解决问题?当我尝试时,我收到以下错误,例如:

当我跑步时,这些不会出现bjam link=static。请指教 ?

0 投票
1 回答
1533 浏览

visual-c++ - 如何在不使用 bjam 的情况下构建 boost 库(程序选项)

我需要在 PC/Mac 中构建 boost 程序选项静态库。它只有 11 个 cpp 源代码,所以我希望通过 编译它g++ SOURCE_CODE,但是我得到了一个类似于utf8_codecvt_facet.cpp:15:47: error: ../../detail/utf8_codecvt_facet.cpp: No such file or directory.

如何在不使用 bjam 的情况下构建 boost 库(程序选项)?有没有办法查看 bjam 用于 Mac/PC 的编译器选项/命令?

0 投票
1 回答
121 浏览

build - 获取 bjam 的调用堆栈的规则或为什么我要注册 2 个相同的生成器

是否有返回 bjam 中当前调用的规则?

我知道如果您调用“bjam.exe -d+10 ...”,它会打印出调用堆栈,但您自己的 ECHO 不会。

我打算做的是打印 generators.register 中的调用堆栈generators.jam中的任何其他规则,以找出这个双重注册的位置。

目前我正在注册两个相同的生成器,但我无法找出原因。这最终导致:

错误:搜索最佳转换时发现歧义

...

成功的生成器:

  • xxx.link

  • xxx.link

...