代码之家  ›  专栏  ›  技术社区  ›  Jahan Balasubramaniam

C++打包:查找共享库依赖项

  •  0
  • Jahan Balasubramaniam  · 技术社区  · 8 年前

    我用C++构建了一个应用程序,它与opencv等第三方共享库链接。现在我需要打包这个应用程序并将其作为tar文件重新分发给用户,而不需要他们安装和编译第三方依赖项。在linux/Ubuntu中编译诸如opencv这样的库是一个非常痛苦的过程。

    现在,我想确切地找到库的所有特定模块都链接到可执行文件,并将它们包含在分发tar中。我不想包括整个图书馆,因为焦油的大小会爆炸。

    仅包含由 ldd 命令任何指导或提示/起点都会有帮助

    3 回复  |  直到 8 年前
        1
  •  1
  •   Community Egal    7 年前

    根据其定义“ldd-print共享对象依赖关系”。此外,我个人确认,它的工作原理与我在专业项目中使用的一样。

    你也可以在这里检查相同的问题和答案。 https://unix.stackexchange.com/questions/120015/how-to-find-out-the-dynamic-libraries-executables-loads-when-run

        2
  •  1
  •   Jesper Juhl    8 年前

    这个 ldd 命令可用于显示可执行文件(或库)链接到哪些库。

        3
  •  1
  •   ikaro    8 年前

    我的建议是(在添加了所有与ldd的依赖项之后)在virtualBox中安装一个新的linux,并尝试分发tar,因为我是最终用户。这样你可以检查一切是否正常。