问题标签 [boost-system]
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.
c++ - Runtime error using boost - undefined symbol: _ZN5boost6system15system_categoryEv
I am compiling a simple project (shared library) using CMake, this is the content of the CMakeLists.txt
I dont receive any error when compiling, when running the program that loads this shared library I receive:
./test.so: undefined symbol: _ZN5boost6system15system_categoryEv
The program that loads this shared library just do the following:
The shared library uses a Thread Local Storage from Boost, inside a class one of the members is:
That is the only thing I am using from boost
c++ - boost::system::generic_category 在静态链接后未定义
我正在构建一个共享库,它与 boost 静态链接,如下所示:
问题是当在 Ubuntu 16.04 上 dlopen 这个库时,应该静态链接的符号未定义(参见以下命令输出:U)而该符号可以在 libboost_system.so 的文本区域中找到,如最后一个命令输出中所验证.
例如:
纳米../liboms_rocketmq.so | grep _ZN5boost6system16generic_categoryEv U _ZN5boost6system16generic_categoryEv
nm /usr/local/lib/libboost_system.so| grep _ZN5boost6system16generic_categoryEv 00000000000013e0 T _ZN5boost6system16generic_categoryEv
知道为什么静态链接不能按预期工作吗?又名,将符号插入我们共享库的文本区域。
linux - 如何在 Visual Studio 2017 中为跨平台 Linux 项目链接 Linux 库?
我在 Windows 上,并在 Visual Studio 2017 社区中使用为 Linux 构建的跨平台项目。我正在尝试构建我的项目,但由于某种原因,未检测到或未正确使用库。
在阅读了一些 SO 帖子之后,这似乎是因为libboost_system
找不到该库,但是它肯定存在,/usr/lib/libboost_system.a
但由于某种原因,构建没有引用这个。我尝试将库添加到 Visual Studio 中的链接器,但它似乎仍然不起作用。
如果我在 Linux 机器上使用应用程序正确构建手动编译项目,g++ main.cpp -o main -lboost_system
但这意味着我无法调试应用程序,所以我想让它为远程构建工作。
有谁知道从 Visual Studio 使用远程构建时如何链接这些库?
c++ - 未定义符号 boost::system:detail::system_category_instance
在编译使用beast和asio的游乐场程序时,我在 macOS Mojave 上使用 c++17 标准和 clang 构建了 boost,但出现以下错误:
这是我的制作文件:
我已经使用本教程中描述的步骤编译了 boost: 使用 Clang 编译 Boost。
Clang 版本:
Apple LLVM 版本 10.0.0.0 (clang-1000.11.45.5)
目标:x86_64-apple-darwin18.2.0
还有什么我需要考虑的吗?我已经阅读了很多帖子等,建议在项目本身中使用的相同 c++ 标准中编译 boost。
编辑:
Matthieu Brucher 的变量名提示(Boost_ vs. BOOST_)起到了作用。现在它正在工作。
c++ - Boost system 1.69.0 不只是标题?
自 1.69.0 以来,Boost 系统是一个只有头文件的库。但是,链接到libboost_filesystem.so.1.69.0
这些链接器错误:
这表明我仍然需要链接到libboost_system.so
,即使它应该只是标题。在构建 Boost 本身以获得真正的仅标头系统库时,我是否需要设置一些特殊标志?
c++ - '': 无法从 'cmdline_error' 转换为 'boost::system::system_error'
我的项目多年来一直在使用 boost 1.58。现在我已经将 Visual Studio 版本升级到 2017 年。并且提升版本 1.68.0
Boost 1.68.0 在它的 error_code 类中有一些改变,这会破坏我们的构建。
收到以下错误
其中 cmdline_error 定义如下
这是造成错误的声明
在linux build中,出现如下错误
此代码适用于 boost 1.48、1.58。1.62
在这里处理此错误的正确方法是什么?
boost - 如何正确链接/构建 Boost 库?
伙计们,这个话题几乎要疯了。
我有一个要安装的大软件,它的要求之一是 boost 库。我使用英特尔工具集构建它,但是当我尝试制作软件时,它总是给我这个错误:
我的 boost 库是使用以下命令构建的:
我正在构建软件:
在 boost 测试中似乎还不错:
操作系统是 CentOS Linux release 7.4.1708 (Core)
有人可以指出进一步尝试的方向吗?
c++ - 运行 boost::process::system 时出现错误的文件描述符错误
运行以下代码时,我在 XCode 输出中收到错误消息
nw_path_close_fd 无法关闭受保护的 necp fd 47 [9: 错误的文件描述符]
代码:
提升版本 1.70
XCode 版本 11.3.1
即使我只是运行也存在错误boost::process::system( "df" )
看到这篇文章:boost::process system leaking file descriptors,我尝试在 posix/executor.hpp 中进行建议的更改。但我仍然得到错误。(进行更改后,我没有进行任何 boost 库构建。我想,它可能不是必需的,因为它只是一个 hpp 文件更改)
更新:
我能够在不使用 df 实用程序的情况下获得所需的信息(网络 uri 和挂载卷之间的映射)(感谢 Timemage)。但是保持这个问题是开放的,因为它与这个用例无关。