如何生成包含其所有依赖项的静态库?

时间:2014-02-17 10:13:02

标签: c++ visual-studio compiler-construction linker static-libraries

我正在开发一个项目,我们需要将我们的应用程序的数学例程分离到一个独立的SDK,它将由另一个应用程序使用。

为了避免构建导出定义的开销,我们考虑创建一个静态库。这里的问题是这些数学例程依赖于其他库,因此客户端也必须包含它们。

我的问题是:我们如何创建一个包含其内部所有依赖项的静态库?假设我正在尝试创建依赖于D1.lib,D2.lib和D3.lib的静态库C1.lib。现在任何需要使用C1.lib的客户端应用程序也必须列出D1,D2和D3作为其依赖项。

甚至可以在Windows中执行此操作?任何有关如何完成或无法完成的解释都会有所帮助。

2 个答案:

答案 0 :(得分:2)

如果您转到Librarian > General,可以在Additional Dependencies下添加d1.lib,d2.lib和d3.lib。这些将合并到您的输出库中。

答案 1 :(得分:1)

  

甚至可以在Windows中执行此操作

是的:查看#pragma comment(lib, ...)的{​​{3}} - 它完全您想要的内容。