c++ - Boost 系统 1.69.0 不只是标题?

标签 c++ boost boost-system

从 1.69.0 开始,Boost 系统是一个只有头文件的库。但是,链接到 libboost_filesystem.so.1.69.0 会出现以下链接器错误:

ld: libboost_system.so.1.69.0, needed by libboost_filesystem.so.1.69.0, not found (try using -rpath or -rpath-link)

这表明我仍然需要针对 libboost_system.so 进行链接,即使它应该只是 header 。在构建 Boost 本身以获得真正的仅 header 系统库时,我是否需要设置一些特殊标志?

最佳答案

Boost 系统现在确实只有头文件,但提供了一个 stub 以便与需要此类库的项目向后兼容。

Boost.System is now header-only. A stub library is still built for compatibility, but linking to it is no longer necessary.

Boost FileSystem 可能尚未更新以删除 stub ,如以下行所示:https://github.com/boostorg/filesystem/blob/develop/build/Jamfile.v2#L29

关于c++ - Boost 系统 1.69.0 不只是标题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54184576/

相关文章:

c++ - 如何解释 IDA Pro 生成的这些代码?

c++ - 结构的一部分的 memcpy

C++:当包含从类模板派生的类的 header 时,编译器警告 C4505

c++ - 编译简单 Windows 二进制文件的最简单方法

c++ - 尽管与 boost_system 链接,但对 boost::system::generic_category 的 undefined reference

c++ - 在 CLion 中找不到 gzip_decompressor(cpp boost 库)

c++ - 多线程程序线程连接问题

c++ - 是否可以为 boost::random::uniform_int_distribution<> 设置确定性种子?

linux - 如何在 Visual Studio 2017 中为跨平台 Linux 项目链接 Linux 库?

c++ - 哪些 Boost.Asio 调用返回哪些 Boost 错误代码/条件?