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

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

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

回答

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

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

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

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

  • That sounds normal. `error_code.o` is an object inside of `libboost_system.a`. Now use `ar a` to put that object into your library. https://www.boost.org/doc/libs/1_76_0/libs/system/doc/html/system.html#ref_class_error_code

以上是是否可以将多个静态库捆绑到一个静态库[C++]中?的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>