13

对于任何 C++ Boost 库,如何找出它需要哪个 Boost 库?

示例(虽然不一定是工作示例):Boost 库“test”需要 Boost 库“date_time”。

问候,

4

3 回答 3

12

boost 附带了一个工具来收集库的依赖项。

它被称为bcp。如果您只需要文件列表,则必须使用 --list 选项。

于 2012-05-30T15:04:32.967 回答
6

如果您想找出这些依赖项以隔离您的软件所需的组件,您可以使用bcp (Boost Copy)

它将选定的 boost 库及其所有依赖项复制到目标位置。

例如

bcp regex /foo

regex将完整的库及其依赖项复制到/foo

免责声明:我对 bcp 没有任何实际经验。

编辑:如果您只想检查编译库依赖于哪个编译库,您可以ldd <boost_library_filename>.so在 Linux 上使用或在 Windows 上使用Dependency Walker 。

于 2012-05-30T15:08:34.213 回答
2

现代解决方案是使用boost Dependency Report(从 boost v1.66.0 开始提供)。

于 2021-02-02T11:02:17.670 回答