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

问题描述 投票:0回答:2

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

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

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

甚至可以在 Windows 中做到这一点吗?任何关于如何做到或为什么不能做到的解释都会非常有帮助。

c++ visual-studio linker static-libraries
2个回答
2
投票

如果您转到

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


1
投票

甚至可以在 Windows 中做到这一点

是的:查看文档以获取

#pragma comment(lib, ...)
——它完全满足您的需求。

© www.soinside.com 2019 - 2024. All rights reserved.