是否可以将多个静态库捆绑到一个静态库 [C++] 中?

AFP*_*AFP 0 c++ static-linking

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

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

小智 5

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

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

然而,这可能不是一个好主意,因为这意味着每次上游库之一发生变化时(例如,由于安全问题得到修复),您都必须不断重建它。

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

  • 听起来很正常。`error_code.o` 是 `libboost_system.a` 内部的一个对象。现在使用“ar a”将该对象放入您的库中。https://www.boost.org/doc/libs/1_76_0/libs/system/doc/html/system.html#ref_class_error_code (3认同)