Boost系统从1.69.0开始是仅标头的库。但是,针对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
进行链接,即使它据说只是标题。在构建Boost本身时,是否需要设置一些特殊标志以获得真正的仅头文件系统库?
答案 0 :(得分:3)
Boost系统现在确实仅是标头,但提供了存根以与需要这种库的项目向后兼容。
Boost.System现在仅是标头。仍会构建存根库以实现兼容性,但是不再需要链接到存根库。
Boost FileSystem可能尚未更新,无法删除行https://github.com/boostorg/filesystem/blob/develop/build/Jamfile.v2#L29上的存根