【问题标题】:Combining two shared (.so) libraries [duplicate]结合两个共享(.so)库[重复]
【发布时间】:2013-04-06 18:54:00
【问题描述】:

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

我想创建一个单独的库 libstuff.so,其中包含独立运行所需的所有信息。有没有办法在不弄清楚构建 libA.so 和 libB.so 的所有依赖项的情况下做到这一点?我最后的手段是通过 CMAKE 的东西并通过学习其他项目中的所有依赖项来构建我自己的 Makefile,但如果可能的话,我想避免这样做。 (不是 Make 专家,直到现在从未使用过 CMake。)

提前感谢您的帮助。

【问题讨论】:

    标签: c compilation makefile cmake shared-libraries


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 2010-10-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-02-23
      相关资源
      最近更新 更多