C 合并两个共享(.so)库

C 合并两个共享(.so)库,c,compilation,makefile,cmake,shared-libraries,C,Compilation,Makefile,Cmake,Shared Libraries,我在代码中使用了第三方库的源代码和对象。该库附带了有关如何使用CMAKE编译它以生成一个make文件的说明,该文件负责所有依赖项。这个make文件创建了两个共享库libA.so和libB.so,它们链接到my code stuff.cpp中 我想创建一个libstuff.com库,其中包含独立运行所需的所有信息。有没有一种方法可以在不了解构建libA.so和libB.so的所有依赖项的情况下做到这一点?我的最后一个办法是通过学习其他项目中的所有依赖项来绕过CMAKE,并构建自己的Makefile

我在代码中使用了第三方库的源代码和对象。该库附带了有关如何使用CMAKE编译它以生成一个make文件的说明,该文件负责所有依赖项。这个make文件创建了两个共享库libA.so和libB.so,它们链接到my code stuff.cpp中

我想创建一个libstuff.com库,其中包含独立运行所需的所有信息。有没有一种方法可以在不了解构建libA.so和libB.so的所有依赖项的情况下做到这一点?我的最后一个办法是通过学习其他项目中的所有依赖项来绕过CMAKE,并构建自己的Makefile,但如果可能的话,我希望避免这样做。(不是制造专家,也从未使用过CMake。)


提前感谢您的帮助。

您只需将这些
libA.so
libB.so
构建为静态库(归档),即
libA.a
libB.a
,然后将它们链接到您自己的
libstuff.so
。如果此第三方项目的
CMakeLists
没有为您提供将其构建为静态的选项,那么您必须修改它以自己添加此选项,但只要您不是CMake的完全新手,这相对容易