Boost系统1.69.0不仅是标题吗?

问题描述:

Boost系统从1.69.0开始是仅标头的库.但是,针对 libboost_filesystem.so.1.69.0 进行链接会产生以下链接器错误:

Boost system is a header only library since 1.69.0. However, linking against libboost_filesystem.so.1.69.0 gives these linker errors:

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本身时,是否需要设置一些特殊标志以获得真正的仅头文件系统库?

which suggest that I still need to link against libboost_system.so, even though it is supposedly header only. Do I need to set some special flags when building Boost itself to get a truly header only system library?

Boost系统现在确实仅是标头,但是提供了存根,以便与需要这种库的项目向后兼容.

Boost system is now indeed header-only, but provides a stub for backward compatibility with projects that require such a library.

Boost.System现在仅是标头.仍会构建存根库以实现兼容性,但是不再需要链接到存根库.

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

Boost FileSystem可能尚未更新以删除行上所示的存根:

It may be that Boost FileSystem is not yet updated to remove the stub as indicated on line: https://github.com/boostorg/filesystem/blob/develop/build/Jamfile.v2#L29