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

c++ - 在 Docker 中为 x86 主机上的 arm32v7 构建 libtorrent 失败并出现(错误:未知目标类型 EXE)

我正在尝试为 RPi 4 构建 libtorrent 的静态 python 绑定。我编写了一个在 RPi 4 上工作的 Dockerfile(虽然非常慢)。但是,如果我尝试在 ubuntuqemu-user-static或 Windows 10上构建相同的 Dockerfile Docker 桌面我收到此错误

这是我正在使用的 Dockerfile

0 投票
0 回答
30 浏览

boost - How to strip version folder from Windows Boost build?

I'm building Boost from source on linux and windows from a single python script, and notice the linux build places the headers under <prefix>/include/boost/..., whereas the windows builds add a version level <prefix>/include/boost-1_74/boost/.... Interestingly, this level does not appear for lib.

Running diff on both folders show no difference between them.

Looking at the .\b2.exe --help there is no mention of special behavior between windows and linux:

Where is this level coming from? How do I make it go away?

0 投票
1 回答
120 浏览

c++ - 提高主要目标引用中递归的构建错误

我想有条件地使用库(有替代品)作为目标。我不想添加诸如<usefoo>yes:<library>foo处处之类的条件,但更喜欢创建传播功能。但是,b2 会为以下卡纸生成错误。

我也不能把 foo 的要求放进去<usefoo>yes。似乎feature.compose不接受有条件的要求。这样做的正确方法是什么?

0 投票
0 回答
27 浏览

boost - Boost.Python 构建为 bjam 带来了错误

我正在尝试按照此文档使用 MSVC 构建 Boost.Python 。

我正在使用 Windows 10 x64、Visual Studio 2017 和 Boost 1.73

我运行 bootstrap 和 .\b2 没有错误,但是当我调用 bjam 时,我得到以下信息:

知道如何解决这个问题吗?

0 投票
0 回答
191 浏览

xcode - CMake 中 CXX 变量的奇怪行为,破坏了 MacOS Catalina 上的 boost 安装

我们的团队正在开发一个新版本的科学 C++ 库。然而,我们在 MacOS Catalina 上尝试将 boost 包含在 CMake 中时遇到了一个我们无法完全理解的问题。

首先,我将更详细地描述这个问题。最后,我将提供一个最小的工作示例,根据我的理解,总结问题。

大目标

我们的总体目标是在我们的软件包中使用boost 库。为此,我们在 CMakeFile 中使用B2 。我们boost.cmake是基于这个文件的。调用时已经出现问题bootstrap.sh

问题

B2 检查本地编译器是否能够执行一个简单的 c++11 文件(这发生在build.sh,执行的 cxx 文件是check_cxx11.cpp)。这似乎在 Linux 系统上开箱即用。然而,在 macOS Catalina 上,由于找不到<wchar.h>

但是,如果我在终端中使用 clang++ 或 g++ 编译 cpp 示例,则不会出现错误。

我能够发现问题是由于CMakeCXX设置的环境变量(已经使用 line )。/Library/Developer/CommandLineTools/usr/bin/c++project(test LANGUAGES CXX)

CXX在调用 CMake 之前未定义时确实会发生错误。如果我CXX=/usr/bin/clang++在执行 Cmake 之前导出,则会发生同样的错误。但是,如果我 export CXX=/usr/bin/g++,一切正常

再现性

我能够在 macOS Catalina (10.15.7) 的全新安装中重现此问题,其中仅安装了 CMake 和 xcode,因此我确信这不仅是我机器上的问题,而且至少是一般问题这个特定的 OSX 版本。

最小(非)工作示例

因为我发现这个问题与CXX变量有关,所以我创建了一个最小的工作示例来总结这个问题。

我的CMakeLists.txt看起来像这样:

boost.cmake

build_shell.sh

check_cxx11.cpp:

如果我在运行 cmake 之前不导出CXX,则输出为

并且代码失败。

如果我 export CXX=/usr/bin/clang++,输出是

并且代码失败。

如果我 export CXX=/usr/bin/g++,输出是

并且代码有效。

问题

我们想了解为什么会发生这种情况:为什么 CMake 将CXX变量更改为(显然)错误?为什么代码可以与 g++ 一起使用,但不能与 clang++ 一起使用?

对于 MacOS 用户,安装过程应该是开箱即用的,无需导出任何环境变量。最好通过理解问题来解决这个问题,而不是仅仅通过硬编码使代码工作的东西。

0 投票
0 回答
14 浏览

boost - 我不知道为什么 boostrap.bat 不执行

实际上,我尝试执行 boostrap.bat,但 b2 没有出现,我仍然从 boostrap.log 中得到一些按摩。在此处输入图像描述 我该如何解决这个问题...??

0 投票
1 回答
267 浏览

c++ - b2 安装命令不运行

我想安装 Boost.Build,但是如果我想像教程中那样运行这个命令:

然后我收到此错误消息:

我已经安装了 MinGw-w64。

谁能帮我这个?

我遵循了本教程:https ://www.boost.org/doc/libs/1_74_0/more/getting_started/windows.html

0 投票
1 回答
56 浏览

linux - 如何在没有 libstdc++ 依赖的情况下使用 b2 构建 C 程序?

我有一个简单的 C 程序和这样的 jamroot.jam:

我可以运行b2 -d+2

在此之后,我收到取决于 libstdc++ 的 hello 二进制文件:

如果我用 gcc 构建它,我会得到更少的依赖:

我可以用 b2 做到这一点吗?

我有一个包含 C 和 C++ 程序的项目,我不想为 C 二进制文件使用不同的构建系统。

0 投票
1 回答
205 浏览

ajax - 使用 Ajax 请求将文件上传到 BackBlaze (B2) 时出现校验和错误

我花了很多时间尝试使用客户端 ajax 请求 (vue-dropzone.js) 将文件上传到 b2,即使我提供了文件的有效 sha1 校验和,b2 服务器仍然响应“校验和与收到的数据不匹配” " 状态码为 400。我已经使用我拥有的所有工具检查并重新检查了校验和,但我仍然无法追踪错误的来源。就好像文件在传输过程中发生了什么事情一样。

我已经使用命令行工具上传了相同的文件,它工作正常,但是当我使用完全相同的 sha1 校验和通过 ajax 上传时,它不起作用。

我的问题是:

  1. b2 甚至允许通过 ajax 上传文件吗?

  2. 如果它确实允许通过 ajax 上传,那么我做错了什么?

  3. 使用“X-Bz-Content-Sha1”、“do_not_verify”上传时文件是否仍然有效。因为我已经尝试过,只是在我下载回来时获取无效文件。

  4. 关于使用 ajax 请求将文件上传到 b2,我还需要了解其他信息吗

请查看我的 ajax 代码,看看我是否有任何问题:

0 投票
0 回答
505 浏览

c++ - 如何从 VCPKG 运行的 cmake 中删除 ninja 的 c++ 编译标志?

我正在尝试使用VCPKG 包管理器Raspberry Pi 4上构建boost-container。问题是编译标志之一对 rpi 上的编译器无效(但对 PC 来说可以),所以我需要删除该标志。这是极其困难的,因为 VCPKG 使用 cmake,用 ninja 构建,它用于构建 boost。-m64b2

我需要有 VCPKG: 的版本ebe505081b667a9f9a56596057f63ed20be237a5。所以要重现 RPI 上的问题:

运行上面的命令后,我看到-m64标志有问题:

我检查了工作目录:

但没有什么可以删除我注意到的标志。

我发现的唯一解决方案是创建编译器包装二进制文件,它只忽略一个标志-m64- 但我希望为 boost-contaier 的 CMake 创建补丁是更好的解决方案?