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

boost - 使用 g++ 4.8 在 Mac 上构建 boost 库的设置工具集配置

我正在尝试使用从端口安装的 g++4.8 在 Mac 上构建 boost 库。

我制作了 ~/user-config.jam 并添加了一行using gcc : : g++-mp-4.8 ;go 使用 g++ 4.8 编译器。我安装了 bjam 和 b2 brew install bjam

问题是,当我使用b2命令构建 boost 时,出现此链接错误:

这是因为 g++4.8 无法像 Apple 的 g++ 4.2 那样识别 -R 选项。

如何设置 g++4.8 的构建选项?这是 b2 使用的命令。我有这个站点以获取配置信息,但我找不到设置工具集配置的有用信息。

0 投票
1 回答
5007 浏览

boost - 指定多线程时,BJam 未使用“-mt”标签编译 boost 库

我正在尝试为 osx 编译 boost v1.55 库,支持多线程。我的 user-config.jam 将编译器配置如下:

我运行构建库的命令如下:

但是,生成的库格式如下:libboost_.a,而不是 libboost_-mt.a

有谁知道为什么省略了“-mt”标签?

0 投票
1 回答
159 浏览

bjam - 获取 Jamfile 路径

我目前正在定义一个常量,以便在我的 Jamfile 的函数中使用它:

项目-root.jam

myjamfile.jam

Jamfile 是否有可能检测到位于哪个路径,所以我不需要在其他地方将 LIB_PATH 定义为常量?

0 投票
2 回答
1322 浏览

c++ - 尝试使用 bcp 从 Boost 中提取子库

我正在尝试从 Boost 中提取“正是我需要的”以减少签入足迹。到目前为止,我正在执行以下操作:

但这给了我一个错误:

我究竟做错了什么?编译提取的子库的正确方法是什么?

0 投票
0 回答
294 浏览

c++ - 编译 Boost 阻塞 TCP Echo 客户端

我正在尝试编译阻塞 TCP 回显客户端的示例:使用 Boost.build b2 命令,如下所示:

但我收到以下错误:

我已经有一个包含以下内容的 JamFile:

那么问题的解决方案是什么?

非常感谢。

我尝试了“b2 linkflags=-lboost_system toolset=gcc”,但出现以下错误

gcc.link ../../bin.v2/app/lte_sim/gcc-4.6/debug/link-static/runtime-link-static/lte_sim /usr/bin/ld:找不到-lboost_system ../.. /bin.v2/app/lte_sim/gcc-4.6/debug/link-static/runtime-link-static/Simulator_main.o:在函数`boost::asio::detail::socket_ops::getaddrinfo(char const*, char const*, addrinfo const&, addrinfo**, boost::system::error_code&)': /home/ha/MIH/boost_1_49_0/boost/asio/detail/impl/socket_ops.ipp:2899: 警告:使用'getaddrinfo'在静态链接的应用程序中,在运行时需要来自 glibc 版本的共享库,用于链接 collect2:ld 返回 1 退出状态

...失败 gcc.link ../../bin.v2/app/lte_sim/gcc-4.6/debug/link-static/runtime-link-static/lte_sim ... ...由于缺少 lte_sim 而跳过 lte_sim ... ...更新 1 个目标失败... ...跳过 1 个目标...

那么有什么建议吗?

0 投票
1 回答
1772 浏览

c++ - Boost Thread:使用已删除函数错误

我正在尝试在 boost 中使用多线程来处理多个请求,并且在收到特定消息后,我将创建一个新线程来处理它,如下所示:

主文件

}

当我尝试使用 b2 工具编译它时,出现以下错误:

gcc.compile.c++ ../../bin.v2/app/lte_mih_usr/gcc-4.6/debug/link-static/runtime-link-static/main.o main.cpp:在函数'void event_handler(odtone: :mih::message&, const boost::system::error_code&)': main.cpp:189:69: 错误:使用已删除的函数'odtone::mih::message::message(const odtone::mih:: message&)' 在来自 ../../inc/odtone/mih/request.hpp:24:0 的文件中,来自 main.cpp:11:

那么如何解决这个问题呢?

非常感谢。

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

c++ - 构建python时b2和./bootstrap.sh有什么区别

对不起,如果这已经被问到了吗?我从源代码构建了 boost,但一直对构建工具感到困惑。从头开始构建 boost 库时应该使用哪个工具。对我来说,似乎 bootstrap.sh 用于创建 bjam 可执行文件,然后应该使用 bjam 来进行实际构建。但是,我注意到您可以将许多参数传递给 bootstrap.sh,例如要使用的工具集(编译器)和要构建的库等......并使用 bootstrap.sh 启动构建

此外,至少有三种不同的方式开始构建:./bootstrap.sh、bjam、b2

有人可以总结每个的目的,因为在线文档似乎没有解释这一点

谢谢!

安华

0 投票
1 回答
427 浏览

c++ - Boost build 显示默认工具集和版本

反正有没有让 boost build (bjam/b2) 显示它将使用的默认工具集和版本?

在没有明确指定工具集的情况下,它可以通过某种方式确定工具集和版本,例如 gcc-4.8 或 darwin-4.2.1。

0 投票
1 回答
951 浏览

boost - bjam - 如何在构建目标之前始终执行 shell 脚本?

我的目标是建立一个包含版本信息的库。

我有一个脚本,./version.cpp 只有在版本实际更改时才会更新。这是为了防止不必要的重建。

我有一个 glob 的 lib 目标*.cpp,其中包括version.cpp.

问题是,如果我运行,bjam我可以看到它执行脚本和 update version.cpp,但库没有重建。

只有当我bjam再次运行时,它才会看到version.cpp发生了变化,并重建了 lib

我的果酱文件:

运行 bjam 的输出(两次):

问题:

如何让脚本库构建一起工作?