问题标签 [jam]

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 投票
0 回答
109 浏览

c++ - 果酱和静态库

我需要为静态链接构建Platinum C++ 库。我可以为此提供什么命令来阻塞?

0 投票
2 回答
2303 浏览

c++ - 构建 boost-python 示例

我正在运行 Ubuntu 13.10 。我安装了 libboost1.54-dev。

我对 Boost 进行了 Git 签出,并对“boost-1.54.0”进行了签出。

我在源代码中将目录更改为 boost/libs/python/example/tutorial。

我跑了“bjam”。我得到:

示例目录中只有三个文件:

说明说它应该就这么简单: http: //www.boost.org/doc/libs/1_54_0/libs/python/doc/tutorial/doc/html/python/hello.html

strace 的最后几行是:

为什么要寻找 boost-build.jam?我错过了什么?

0 投票
1 回答
206 浏览

bjam - 有没有办法可视化 boost.build 中的依赖关系?

我有一个使用 boost.build 的大型项目。我想要一种查看特定构建目标的依赖关系树的方法。

例如:

exe foo : foo.c /BAR//LIB : /MEOW//PUB ;

foo 的依赖将包括 /BAR//LIB 的所有要求和 /MEOW//PUB 的所有使用要求。

boost.build 中是否内置了此类功能,或者是否有可用的工具来执行此操作?

0 投票
1 回答
619 浏览

c - 未定义的引用 ''

我正在处理一大段代码。当我使用 jam 命令编译代码库时,我收到很多错误,说明代码库中新添加的头文件中未定义对“some_function”的引用。此头文件包括所有其他相关的头文件。在编译代码库之前是否需要对 jam 文件进行更改?

bundlemgr_distrib_im.c:

bundlemgr_distrib_config.h:

bundlemgr_distrib_config.c

构建日志:

另一个错误:

bundlemgr_distrib_acc_private.h(新添加的文件)

bundlemgr_distrib_db_private.h

bundlemgr_distrib_db_api.c

构建日志:

0 投票
2 回答
123 浏览

c++ - 使用 Jam 时如何查看 g++ 编译器输出?

我正在使用Jam编译一个项目,似乎无论我设置的调试级别有多高,我仍然无法看到我正在寻找的细节。

我想使用g++'s-M-Hflag 来查看包含哪些标头(我想包含来自特殊目录的系统标头),并且我已经测试了这些标头是否有效。我会看到这样的东西:

这使我可以验证我的解决方案在没有 Jam 的情况下是否可以正常工作,但现在我想确认 Jam 没有搞砸任何事情。

我试过jam -d 9 | grep include | grep i686了,什么也没看到。

这里可能出了什么问题?为什么原始编译器输出如此模糊?

0 投票
2 回答
613 浏览

boost - 将多个静态库组合成 Boost Jam 文件中的单个共享库

嗨,我有以下项目 hirarcy:
-Top
------lib1
----------Jamfile
------lib2
----------Jamfile
----- -果酱

libs:lib1 和 lib2 都是静态库(.a),它们的 Jamfile 包含以下命令:

lib $(library) : [ glob *.cpp ] : <link>static ;

现在在 Jamroot 级别,我必须通过组合以上两个静态库来创建一个共享库(.so):lib1.a 和 lib2.a 应该组合并形成一个 libmain.so。

你能告诉我如何在我的 Jamroot.jam 文件中编写所需的 bjam 语句来实现上述目的吗?

0 投票
2 回答
427 浏览

macos - jamplus:对于 osx,链接命令行太长

我正在使用 jamplus 构建供应商的跨平台项目。在 osx 上,C 工具的命令行(通过 clang 输入到 ld)太长。

响应文件是命令行太长的经典答案:jamplus 在手册中指出可以即时生成它们。

手册中的示例如下所示:

差不多好了!如果我专门吹掉 C.Link 命令,像这样:

在我的 jamfile 中,我得到了传递给链接器的命令行,但响应文件没有换行终止,因此链接失败(osx ld 需要换行分隔的条目)。

  1. 有没有办法扩展加入换行符的 jamplus 列表?我试过使用连接扩展$(LIST:TCJ=\n)但没有运气。$(LIST:TCJ=@(\n))也不行。如果我能做到这一点,生成的文件有望是正确的。
  2. 如果不是,我可以使用什么 jamplus 代码来覆盖 clang 的链接命令,并从列表中动态生成内容?我正在寻找一种侵入性最小的方法来处理这个问题——理想情况下,直接修改/覆盖工具,而不是在需要链接的地方添加新的间接目标——因为它是我们供应商的代码库,所以需要尽可能少的编辑。
0 投票
1 回答
46 浏览

c++ - 更改 jam 脚本中的文件扩展名

如何更改 jam 脚本中输入文件的扩展名。在 linux 机器上,我有以下工作代码 -

for 循环中的第一行选择 cpp 文件名并将其扩展名从 更改<File>.cpp<File>.obj. 我需要隐藏这些与 Windows 平台兼容的更改。我认为 boost 构建过程中的一些模块会提供一些方法来做到这一点,但谷歌搜索在这方面没有多大帮助。

我应该在上面的代码中进行哪些更改以objName包含 obj 文件扩展名,并且这些更改保持跨平台兼容(特别是 win/linux)。

0 投票
0 回答
158 浏览

makefile - 从 Makefile 调用 jam 不起作用

在我的makefile中,我试图进入一个不同的目录并使用以下内容调用jam

这不起作用,但导致“未知目标。请编辑'Jamrules'。” 即使命令行上完全相同的命令运行良好。所以我知道果酱可以找到目标。

我也试过

和具有相同结果的变化。这也可以从命令行完美运行。

任何其他命令而不是“jam”都可以按预期工作(ls、ps、cat、pwd)。

更新:即使在 <somedirectory> 中创建 Makefile 并在那里运行make也会得到相同的结果。

任何关于为什么会发生这种情况的想法都将不胜感激。当然,还有要尝试的事情。

我正在使用最新的 gnu make FT-jam 2.5.2 运行 cygwin。

0 投票
1 回答
110 浏览

jam - 使用 Jam 创建文件夹

我在我的项目中使用 jam 来自动在 Visual Studio 中构建。

我正在尝试将子目录和文件从 $folder 移动到 $folder1。$folder 包含一个项目 $folder1 为空。

我使用 File 来复制文件。

我尝试复制这样的文件:

但是 $folder1 是空的并且不包含文件夹结构,因此 File($folder1)\\subdir : ($folder)\\subdir不会做任何事情,因为 $folder1 是空的。

Jam 有没有办法根据它是否存在来创建一个文件夹?