问题标签 [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 回答
1658 浏览

c++ - 使用 bcp 获取可构建的 Boost 提取

我正在使用 bcp 从 Boost 中提取 Boost.Archive。不幸的是,我无法构建此提取物。Boost.Archive 不是一个只有头文件的库。

bjam 抱怨

有没有办法告诉 bcp 使用 bjam 构建提取(将 boost-build.jam 复制到正确的位置)?

0 投票
2 回答
1486 浏览

boost - 如何更改增强版本以使用 cxxflags=-O2?

在我的机器上,variant=release 的 cxxflags 默认为 -O3。
我需要将其更改为-O2。请告知如何进行。

如果有人可以就此提出建议,我也可以定义一个新的变体。

0 投票
1 回答
946 浏览

boost-build - 是否可以使用相同的命令安装库的调试和发布变体?

我正在使用以下 Jamfile(在目录 /home/morpheus/base/CDef 中):


lib CDef:[glob *.cpp]:静态;

安装libCDef : CDef : LIB "/home/morpheus/base_install/lib" : 发布;

安装_libCDef_D:CDef:LIB“/home/morpheus/base_install/libdebug”:调试;


我想知道是否可以将两条安装行更改为同时具有调试和发布指令的安装行。

还要使用不同目录(/home/morpheus/FSLR)中不同 Jamfile 中的库,我使用以下 Jamfile 来构建 exe callFSLR:


lib CDef :: 释放 CDef /home/morpheus/base_install/lib ; lib CDef :: 调试 CDef /home/morpheus/base_install/libdebug ;

exe callFSLR:call_FSLR.cpp CDef::debug release;

安装 install-bin : callFSLR : "/home/morpheus/base_install/bin" 发布;


我相信使用“use-project”来引用 Jamfile /home/morpheus/base/CDef/Jamfile 中的 CDef 可能是可取的?

0 投票
1 回答
6113 浏览

xcode - `bjam --toolset=` 和 Apple 编译器的标记值?

使用 构建 Boost 二进制库时bjam,可以通过对选项使用某些值来指定要使用的编译器,而无需指定特定的编译器版本。--toolset=例如:

bjam --with-serialization --toolset=msvc

工具集值 msvc告诉您在bjam系统中搜索某个版本的 Microsoft Visual C++,然后使用它来构建 Boost.Serialization 库的许多变体。生成的库将包含一个标签,指示实际使用了哪个工具集。例如,上面的命令会创建如下文件:

其中文件名中的字符串vc100是一个工具集标记,指示已找到Microsoft Visual C++ 2010编译器版本并用于构建库。[有关 Boost 库文件命名约定的更多详细信息,请参见此处。]

也可以使用选项的某些其他值来指定编译器的特定--toolset=版本。例如:

bjam --with-serialization --toolset=msvc-9.0

告诉bjam我,即使我的系统上可能有多个编译器,我希望它专门使用Microsoft Visual C++ 2008。生成的库包含标记字符串vc90以指示使用Microsoft Visual C++ 2008构建它们。

Boost 文档对于 Mac 上较新的编译器似乎有点过时(例如,如何区分 GCC、LLVM-GCC 和 LLVM?)

我的问题是,Mac 上 Xcode 3 和 Xcode 4 中特定编译器版本bjam --toolset=的其他一些值及其对应的标签是什么(不是一般的编译器名称值,如)?这些记录在任何地方吗?即使 Boost 还不支持构建具有某些版本的 Boost 库,是否已经指定了 和 标记值?darwintoolset

请帮助替换???此表中的 s:

(1) Apple 生产自己的 GCC 和 LLVM 编译器版本,以添加 Apple 特定的扩展和行为。

(2) 仅在 Xcode 3 中可用。

(3) 仅在 Xcode 4 中可用。

0 投票
1 回答
783 浏览

c++ - BJAM,为 vc-80 而不是 vc7.1 构建

如何使用 bjam for vc80 构建 boost 库 date_time。

目前我正在使用 ..\bjam.exe release debug threa ding=multi --toolset=msvc-8.0 stage --with-date_time --build-type=complete --deb ug-configuration -d+2
这只会生成库使用vc7.1版本,我需要的是vc80。

我还注意到正在使用 v1 版本的 Boost.Build 设置而不是 v2。所以 user_config.jam 没有被使用。

0 投票
2 回答
8326 浏览

makefile - 使用带有 make 而不是 bjam 的 boost.python

我只是想编译 boost.python 的“hello world”示例,而不使用所有 bjam 魔法。我的 boost.python 安装工作正常,我用 bjam 成功构建了示例并通过了测试套件。

现在对于我的项目,我需要在一个简单的 Make 环境中使用所有这些东西。我不想移植到另一个构建工具。

所以我天真的方法当然是将包含路径指向正确的标题并链接到正确的库。我将 boost python 构建为系统布局、静态、运行时静态,这意味着它只是一个位于 /usr/local/lib 中的 libboost_python.a。

不幸的是,我在生成的 .so 库中得到了未解析的外部符号。

这是我尝试从 libs/python/example/tutorial/hello.cpp 构建示例:

那么,当 bjam 链接 libboost_python.a 时,我没有得到未定义的符号,但是当我“手动”执行时,我得到了这些,bjam 的最大魔力是什么?

0 投票
3 回答
11963 浏览

c++ - 帮助编译和使用 boost c++ 库

我正在开发一个 C++ 项目,我想在其中使用 boost 的序列化库。我从 boost 的主页下载并安装了最新的 boost 库。

当我尝试编译并运行 boost 的演示序列化示例之一时,我得到了各种看起来像这样的错误:

我是 C++ 的新手,所以我将不胜感激。

谢谢

0 投票
3 回答
1018 浏览

windows - Boost 1.44 --builddir 和 --includedir 在 Windows 中不起作用?

我正在尝试将 Boost 1.44 构建到某个目录而不是默认目录中。通过从 boost 根目录执行以下步骤,我在我的 linux 机器上做同样的事情:

./bootstrap.sh bjam --prefix=../../DIR

它将库构建到 ../../DIR/lib 中,将头文件构建到 ../../DIR/include 中。

我试图在我的 Windows 机器上做同样的事情,所以我尝试了:

./bootstrap bjam--prefix=../../DIR

但这将其直接构建到了 boost 根构建区域。我也试过 bjam --builddir=../../DIR/lib --includedir=../../DIR/include

但这似乎都不起作用。关于我做错了什么的任何想法?

0 投票
1 回答
78 浏览

boost - 如何在 bjam 中指定“安装 --backup”

我有一个带有以下命令的 Jamfile。我认为 bjam 使用 unixinstall命令来安装。我想将其更改为install --backupinstall -b用于特定命令。

请指教。

0 投票
6 回答
4045 浏览

c++ - 使用 MinGW 构建 Boost 1.45

尝试使用 MinGW 在 Windows XP 上编译 Boost 1.45。一年前我做过,几乎忘记了如何重复它。

%PATH% 包含 MinGW 路径。
user-config.jam 包含来自此处using gcc ;
的 bjam(ntx86 之一)。

输出: