问题标签 [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.
boost - Boost Jam 不在 Windows 上生成线程库
我从 SourceForge 下载了最新的 Boost Jam 二进制文件,我正在使用以下命令:
我已经安装了 Cygwin 和 GCC 编译器。虽然该命令生成了一个stage/lib目录,但我找不到我在 Linux 中使用的线程库。Boost Jam 需要一段时间才能运行,因此在此过程中可能会出现错误。谁能猜到我为什么没有线程库?有没有我可以运行的特定命令来尝试只构建线程库?谢谢!
c++ - Boost.Build 将预建库引入项目的最佳实践
我们目前使用这样的“lib”将外部预构建库引入项目:
要在项目中正确使用 ace_lib_static,我们必须将块复制到项目的 jamfile 中。请注意,它定义了文件名、搜索目录、包含目录和宏。这仅适用于 VC 8.0。如果我们添加对其他编译器的支持,那么块会更大。
有没有更好的方法在 boost.build 中引入外部预建库?理想情况下,我们希望有一个项目 jamfile 可以引用的单独 jamfile,并添加几行以使其可用于项目。
boost - 如何查看 Boost.Build 调用的 g++ 命令行 (1.33.1)
我在挠头,试图弄清楚为什么在我的机器上构建 Boost 库时没有生成导入库。更具体地说,构建 DLL 工作正常,但我以前(即在我重新安装我的机器之前)会正确生成导入库。
一些规格:
- 提升 1.33.1
- 适用于 Windows 的 g++ 4.3.3 TDM-1 版本
gcc
从 MS Dos 命令行提示符使用工具集构建- UnxUtils(14-04-03 之后)
调用 bjam.exe 的命令行如下所示:
这以前可以很好地工作并产生所需的文件boost_thread.lib
,但现在不行了。我真的不知道发生了什么,我想确切地知道链接器在命令行上收到了什么以及它认为应该如何处理它。
谢谢,
卡尔
c++ - C ++的Makefile生成器?
以下构建系统:cmake、jam 和 bjam 是否也像 qmake 一样生成 makefile?MS Visual C++ 使用什么工具来生成 make 文件?
boost - 使用 bjam 简单安装
我是 boost.build newby,虽然 bjam 很容易用于大多数编译任务,但我不知道如何做一些应该非常简单的事情:在系统中安装我的应用程序。
假设我有一个非常简单的项目,在树中有两个文件(除了 Jamroot)。
hello.cpp :一个 C++ 程序说它打印 /etc/hello.conf 的内容
hello.conf : 默认的 hello.conf
我想做的是:
- 无需在系统范围内安装任何东西即可编译和链接 hello.cpp
- 当使用安装目标调用时(并且仅在那时):
- 将可执行文件 hello 复制到 /usr/bin
- 将 hello.conf 复制到 /etc。
下面是我开始写的bjam:
我的问题是,作为用户,我无法写入 /etc 或 /usr/bin,并且我希望仅在显式调用安装目标时才执行此操作,而不是每次键入 bjam 时。
将安装和构建阶段分开对我来说非常重要,因为构建阶段应使用用户权限完成,安装阶段应使用管理员权限完成。
boost - 安装 C++ boost 库时更改 bjam 使用的命令
我试图让 boost 库的安装速度慢一点,因为短时间内对 gcc 的调用太多,这会将我的 CPU 温度提高到极限并导致系统崩溃。
所以我将它添加到 /etc/site-config.jam
但是,它给出了这个错误:
$ ./bjam install
/etc/site-config.jam:5: 关键字语法错误;
/etc/site-config.jam:5:在加载
规则中睡眠 10;g++ 在模块 pch 中未知。
/tmp/boost_1_40_0/tools/build/v2/kernel/modules.jam:283:在导入
/tmp/boost_1_40_0/tools/build/v2/tools/gcc.jam:19:在加载
/tmp/boost_1_40_0/tools/build /v2/kernel/modules.jam:283:在导入
中 /tmp/boost_1_40_0/tools/build/v2/build/toolset.jam:37:在工具集中使用
/tmp/boost_1_40_0/tools/build/v2/build/project .jam:874: 在使用
project-config.jam:12: 在 modules.load
/tmp/boost_1_40_0/tools/build/v2/build-system.jam:241: 在 load-config
/tmp/boost_1_40_0/tools/build /v2/build-system.jam:407:在加载配置文件中
/tmp/boost_1_40_0/tools/build/v2/build-system.jam:538:在加载
/tmp/boost_1_40_0/tools/build/v2/kernel/modules.jam:283:在导入
/tmp/boost_1_40_0/tools/build /v2/kernel/bootstrap.jam:138:在 boost-build
/tmp/boost_1_40_0/boost-build.jam:16:在模块范围内
我该如何解决这个问题?
c++ - Bjam:忽略特定库
使用 Visual Studio,可以“忽略特定库”(项目属性 > 配置属性 > 链接器 > 输入 > 忽略特定库)。
我们发现这在项目中很有用。现在我们想使用 boost-build (bjam) 构建该项目,但我们需要重现该链接器行为。
bjam 是否有任何忽略库功能?
boost - 线程示例的静态编译
我按如下方式编译了 Boost C++ 库:
没有错误。然后我编译了以下源:
使用:
该程序编译并运行良好,因为 Boost 库位于/usr/local/lib
. 当我从中删除/usr/local/lib
时/etc/ld.so.conf.d/libc.conf
遇到以下错误(毫不奇怪):
如何Thread.cpp
静态编译链接到 Boost?我尝试了以下方法:
我安装了以下 Boost 库:
我收到以下编译错误:
有任何想法吗?
python - 使用 boost build 链接到 boost 单元测试框架
使用 boost build,如果我可以在我的 jamfile 中链接到 boost python 库:
项目 myProject :要求 /boost/python//boost_python ;
如何链接到提升测试?我已经建立了升压测试库。
我不想使用文件路径,因为我的代码是可移植的。谢谢
硅
linux - 使用 bjam 构建和使用共享库
在 ubuntu 上使用 bjam,我正在构建一个 c++ 共享库并尝试在可执行文件中使用它。我必须构建为共享,因为它不会链接为静态(出现许多未定义的引用)。没关系。
两个相关问题:
1)使用 Jamfiles 的层次结构,我的 exe 项目(testServerHub)依赖于共享库(pythonManager)。这是 exe 的 Jamfile:
这是我的 lib Jamfile:
如果我运行“bjam pythonManager”,pythonManager 共享库将被构建并复制到我的项目 lib 文件夹中(通过最终的安装命令)。但是,如果我运行“bjam test”,则 testServerHub 和 pythonManager 都已构建,但 libpythonManager.so 不会复制到项目 lib 文件夹 - 安装命令不会运行!
2) 好的,作为临时解决方法,我先构建 libpythonManager.so,然后构建 testServerHub 可执行文件。编译和链接。在运行时,可执行文件抱怨找不到 libpythonManager.so。由于运行时链接器不知道我的项目 lib 文件夹,这并不令人意外。我如何告诉它在某个目录中查找共享库?或者如果安装命令对依赖库构建没有影响,我如何将 libpythonManager.so 安装到 /usr/local/lib 中?
非常感谢
硅