问题标签 [b2]

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 回答
454 浏览

boost - boost-build / bjam:安装后执行脚本(使“安装”成为执行脚本的依赖项)

使用boost-build/ ,是否可以在规则完成bjam后执行脚本?install

我有一个Jamfile它定义了一个可执行文件(exe),然后安装它(install)。我想在这install一步之后执行一个脚本。

果酱文件:

我知道我可以执行脚本

但我不知道如何install依赖该脚本的执行?

0 投票
0 回答
93 浏览

c++ - 使用 Bjam 命令行取消定义宏

bjam 允许用户在命令行中定义一个 C/C++ 宏。

取消定义宏怎么样?

我想要实现的是在我的发布版本中取消定义 NDEBUG 宏。

提前致谢。

0 投票
1 回答
1343 浏览

boost - Boost 1.57.0 bootstrap.bat 不适用于 Visual Studio .NET 2003

在仅安装了 Visual Studio .NET 2003 SP1 的开发机器 Vista SP1 上

- 使用 boost 1.44.0 我使用 bootstrap.bat 生成 b2.exe 和 bjam.exe 没有问题
- 使用 boost 1.57.0 我收到此错误消息时运行 bootstrap.bat :

这发生在 cmd.exe 或 Visual Studio .NET 2003 命令提示符下。

我在 boostrap.log 中有这些错误:

builtins.c(1885):错误 C2065:'FSCTL_GET_REPARSE_POINT':未声明的标识符 builtins.c
(1889):错误 C2065:'IO_REPARSE_TAG_SYMLINK':未声明的标识符

builtins.c 包含

并且 FSCTL_GET_REPARSE_POINT 在 VS .NET 2003 提供的 winioctl.h 中

我猜由于某种原因缺少 OS_NT 定义?

注意:Boost 1.57.0 windows 文档 仍然引用 VS .NET 2003

0 投票
5 回答
5089 浏览

c++ - 建设提升错误:名称冲突'boost_system-vc120-mt-1_58.dll'

我正在尝试boost在 64 位系统上使用 Visual Studio 2013 在 Windows 8.1 上构建。

这是完整的输出:

这是什么意思以及如何解决它?

谢谢

0 投票
1 回答
150 浏览

windows-phone-8 - 如何使用 Visual Studio 2013 Pro 为 Windows Phone 8 构建 Boost 1.57?

我想为 Windows Phone 8 构建 Boost 1.57 但是当我像这样运行 b2

对于每个目标,我都会收到与此类似的奇怪错误

我的猜测是构建系统没有正确设置编译器。它像这样使用 b2 编译没有错误

我错过了什么?如何为 Windows Phone 8 编译 Boost?

0 投票
5 回答
45102 浏览

c++ - 如何使用 Visual Studio 2015(企业版)构建 boost 版本 1.58.0

我喜欢使用(新)Visual Studio 2015(企业版)构建 boost 1.58.0。过去我是按照以下方式进行的:

  1. 从www.boost.org下载 boost 1.58.0
  2. 提取文件(例如C:\thirdparty\vs2013\x64\boost_1_58_0
  3. 启动 Visual Studio 2013 x64 命令提示符 ( VS2013 x64 Native Tools Command Prompt)
  4. 更改为 boost 目录(例如cd C:\thirdparty\vs2013\x64\boost_1_58_0
  5. 执行.\bootstrap.bat
  6. 执行.\b2 -j8 --toolset=msvc-14.0 address-model=64 --build-type=complete stage
  7. b2 -j8 --toolset=msvc-12.0 address-model=64 --build-type=complete stage --with-python

但是在 VS2015 中没有 VS2015 命令提示符。

此外vcvarsall.bat,我有时用来设置 VS2013 命令提示符也丢失了。

如何使用VS2015编译boost的源代码?

0 投票
1 回答
445 浏览

c++ - Boost Build:使用特征或变量

我有一个使用 Boost Build 运行的数据库集成测试。测试需要一些命令行参数(数据库用户名、密码)。以用户可配置的方式(通过环境变量、bjam 命令行、user-config.jam)通过 Boost Build 设置它的最佳方法是什么?

我知道我可以用变量来做到这一点:

这可以通过命令行 ( bjam -s DB_PASS=pass) 或通过环境变量进行设置。

另一方面,Boost Build 倾向于通过特性机制完成大部分配置。我可能会定义一个新功能,然后通过这种方式将配置数据放到正确的位置。

每种方法的优缺点是什么?我应该拿哪一个?如果功能:我将如何做到这一点?

注意:实际测试在 Jamroot 使用的 Jamfile 中,所以不是直接在根文件中。

0 投票
3 回答
2039 浏览

c++ - 使用 iconv 为 iOS 构建 Boost.Locale

我目前正在尝试为 iOS 构建 Boost.Locale,但我无法找到 iconv 库(我正在为 iOS 成功构建 Boost 的其他部分,例如threadfilesystem)。

我试图让 Boost.Build 自己找到它,我试图将ICONV_PATH变量设置为指向 iPhoneOS SDK iconv lib。检查 Boost.Locale 中的 Jamfile,我偶然发现了这条规则:

所以我认为设置-sICONV_PATH/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS8.4.sdk/usr足够了,因为这个目录包含一个lib和一个include包含 iconv 库和头文件的文件夹,但是 Boost 仍然找不到它,并吐出:

请注意,我总是b2使用该--reconfigure选项进行调用,因此它不是缓存先前调用的结果(在上面的列表中会有一个尾随(cached)

那么,有没有办法正确地将 Boost 指向 iOS SDK 中的 iconv 实现?如果可能的话,我想避免建立一个单独的 iconv。

0 投票
1 回答
684 浏览

c++ - C++:所有升压路径操作段错误(Ubuntu / g++)

简介 我知道的C++:所有boost路径操作segfault (OSX / GCC)

你可以,我没有改变名称主题的约定。

但是我使用的是 Ubuntu 系统,我遇到了上面作者的问题。

我不明白上述解决方案(如何解决?)(我使用另一个系统)所以我创建了自己的主题。

总结一下:

例如,当我运行时出现问题:

调试器说:

请帮我。

0 投票
1 回答
3152 浏览

ubuntu - 如何在 Ubuntu 14.04 上安装最新的 Boost 版本?

我安装了 Boost

但是通过此命令安装的 Boost 版本是 1.54。我尝试使用 boost.org 中的教程通过bootstrapb2使用默认选项安装 1.60。但我认为我需要更早的版本,所以我尝试了 1.59、1.57 等。全部到默认位置。所以现在我不知道我有什么提升,因为即使在 1.57 安装之后(使用来自 boost.org 的教程),/usr/local/lib 中的文件仍然带有 1.60 后缀。我试图在不同的目录中编译它并且构建得很好。

所以我有两个问题: 1. 如何通过安装到默认位置的不同版本的 boost 来消除所有这些混乱。2. 如何让 Ubuntu 使用不在默认位置的 Boost 构建来制作一些项目。