【问题标题】:How to find out what dependencies (i.e other Boost libraries) a particular Boost library requires?如何找出特定 Boost 库需要哪些依赖项(即其他 Boost 库)?
【发布时间】:2012-05-30 14:49:03
【问题描述】:

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

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

问候,

【问题讨论】:

  • 不确定你的意思。如果你有一个 boost 库,为什么还需要其他 boost 库?
  • 必须深入了解自己的灵魂,和/或查看文档。通常,Boost 确实包含相当好的内容(标题和#pragma lib),因此您很少需要担心这一点。
  • @unwind,让我想起了“GNU 不是 Unix”:)
  • @Cornstalks: ...在问题描述中:)

标签: c++ boost


【解决方案1】:

boost 自带一个工具来收集库的依赖关系。

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

【讨论】:

  • 我也遇到过这种情况。尤其是回答简短的问题,比如这些。
【解决方案2】:

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

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

例如

bcp regex /foo

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

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

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

【讨论】:

    【解决方案3】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-09-28
      • 2018-09-20
      相关资源
      最近更新 更多