gpt4 book ai didi

c++ - 如何 C++ 静态编译第三方库,其中包含其他人在主应用程序中使用的另一个库

转载 作者:行者123 更新时间:2023-11-30 03:20:03 24 4
gpt4 key购买 nike

我有 2 个 OSS 第三方库,它们都使用另一个第三方库,都编译为 STATIC。
为了上下文的缘故,我有:
静态 libssh -> 使用静态 openssl 库
静态 libcurl -> 使用静态 openssl lib
我的主要应用程序正在使用 openssl static现在我将 libssh 和 libcurl 编译为静态库,它们都使用 openssl 的静态版本编译
据我了解,现在 libcurl 和 libssh 包含静态链接 openssl
如果它是真的,我有 2 个 openssl 嵌入到 libssh 和 libcurl 中,它们也嵌入到我的应用程序中,另外还有一个我自己的主应用程序正在使用的。
我的问题是如何静态编译第三方库,但让它们使用 1 个静态 openssl 拷贝?
我不想将 libssh libcurl 源代码导入我的应用程序,而是将它们静态链接为单独的 lib 文件。

最佳答案

静态库实际上只是目标文件的存档(这就是 .a 后缀的原因)。它们肯定不包含任何依赖项,因为它们在创建时并未真正链接。

如果您使用静态库,那么您还需要明确链接所有库依赖项。

关于c++ - 如何 C++ 静态编译第三方库,其中包含其他人在主应用程序中使用的另一个库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53139219/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com