c++ - 是否可以将多个静态库捆绑到一个静态库中[C++]?
问题描述
我为我的 C++ 代码创建了一个静态库,该库依赖于 CentOS 7 环境中的 Boost、OpenSSL、CURL 和 Threads。
libboost_system.a
是否可以将, libssl.a
, libcrypto.a
, libcurl.a
,与我的 C++ 库捆绑libpthread.a
到一个库中?
解决方案
.a
文件只是档案;您可以使用ar
命令来操作它们。
因此,您可以从每个库中提取所有对象 ( ar x
),然后创建一个ar a
包含所有单个文件的新库 ()。
但是,这可能不是一个好主意,因为这意味着每次上游库之一发生更改时(例如,由于修复了安全问题),您都必须继续重建它。
程序具有多个库依赖项和包含项是正常的。