首页 > 解决方案 > 是否可以将多个静态库捆绑到一个静态库中[C++]?

问题描述

我为我的 C++ 代码创建了一个静态库,该库依赖于 CentOS 7 环境中的 Boost、OpenSSL、CURL 和 Threads。

libboost_system.a是否可以将, libssl.a, libcrypto.a, libcurl.a,与我的 C++ 库捆绑libpthread.a到一个库中?

标签: c++static-linking

解决方案


.a文件只是档案;您可以使用ar命令来操作它们。

因此,您可以从每个库中提取所有对象 ( ar x),然后创建一个ar a包含所有单个文件的新库 ()。

但是,这可能不是一个好主意,因为这意味着每次上游库之一发生更改时(例如,由于修复了安全问题),您都必须继续重建它。

程序具有多个库依赖项和包含项是正常的。


推荐阅读