问题标签 [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.
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 使用的命令。我有这个站点以获取配置信息,但我找不到设置工具集配置的有用信息。
boost - 指定多线程时,BJam 未使用“-mt”标签编译 boost 库
我正在尝试为 osx 编译 boost v1.55 库,支持多线程。我的 user-config.jam 将编译器配置如下:
我运行构建库的命令如下:
但是,生成的库格式如下:libboost_.a,而不是 libboost_-mt.a
有谁知道为什么省略了“-mt”标签?
bjam - 获取 Jamfile 路径
我目前正在定义一个常量,以便在我的 Jamfile 的函数中使用它:
项目-root.jam
myjamfile.jam
Jamfile 是否有可能检测到位于哪个路径,所以我不需要在其他地方将 LIB_PATH 定义为常量?
c++ - 尝试使用 bcp 从 Boost 中提取子库
我正在尝试从 Boost 中提取“正是我需要的”以减少签入足迹。到目前为止,我正在执行以下操作:
但这给了我一个错误:
我究竟做错了什么?编译提取的子库的正确方法是什么?
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 个目标...
那么有什么建议吗?
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:
那么如何解决这个问题呢?
非常感谢。
bjam - 有没有办法可视化 boost.build 中的依赖关系?
我有一个使用 boost.build 的大型项目。我想要一种查看特定构建目标的依赖关系树的方法。
例如:
exe foo : foo.c /BAR//LIB : /MEOW//PUB ;
foo 的依赖将包括 /BAR//LIB 的所有要求和 /MEOW//PUB 的所有使用要求。
boost.build 中是否内置了此类功能,或者是否有可用的工具来执行此操作?
c++ - 构建python时b2和./bootstrap.sh有什么区别
对不起,如果这已经被问到了吗?我从源代码构建了 boost,但一直对构建工具感到困惑。从头开始构建 boost 库时应该使用哪个工具。对我来说,似乎 bootstrap.sh 用于创建 bjam 可执行文件,然后应该使用 bjam 来进行实际构建。但是,我注意到您可以将许多参数传递给 bootstrap.sh,例如要使用的工具集(编译器)和要构建的库等......并使用 bootstrap.sh 启动构建
此外,至少有三种不同的方式开始构建:./bootstrap.sh、bjam、b2
有人可以总结每个的目的,因为在线文档似乎没有解释这一点
谢谢!
安华
c++ - Boost build 显示默认工具集和版本
反正有没有让 boost build (bjam/b2) 显示它将使用的默认工具集和版本?
在没有明确指定工具集的情况下,它可以通过某种方式确定工具集和版本,例如 gcc-4.8 或 darwin-4.2.1。
boost - bjam - 如何在构建目标之前始终执行 shell 脚本?
我的目标是建立一个包含版本信息的库。
我有一个脚本,./version.cpp
只有在版本实际更改时才会更新。这是为了防止不必要的重建。
我有一个 glob 的 lib 目标*.cpp
,其中包括version.cpp
.
问题是,如果我运行,bjam
我可以看到它执行脚本和 update version.cpp
,但库没有重建。
只有当我bjam
再次运行时,它才会看到version.cpp
发生了变化,并重建了 lib
我的果酱文件:
运行 bjam 的输出(两次):
问题:
如何让脚本和库构建一起工作?