【问题标题】:C++ Packaging: Finding shared library dependenciesC++ 打包:查找共享库依赖项
【发布时间】:2016-04-22 17:21:41
【问题描述】:

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

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

仅包含ldd 命令检测到的库就足够了吗?任何指导或提示/起点都会有所帮助

【问题讨论】:

标签: c++ opencv packaging


【解决方案1】:

根据其定义“ldd - 打印共享对象依赖项”。此外,我个人确认它可以正常工作,因为我总是在专业项目中使用它。

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

【讨论】:

    【解决方案2】:

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

    【讨论】:

      【解决方案3】:

      我提示它对我有用(在使用 ldd 添加所有依赖项之后)是在 virtualBox 中安装新的 linux 并尝试分发 tar,因为我将成为最终用户。这样您就可以检查一切是否正常。

      【讨论】:

        猜你喜欢
        • 2012-04-05
        • 2011-10-01
        • 2013-05-11
        • 1970-01-01
        • 1970-01-01
        • 2016-02-18
        • 1970-01-01
        • 2012-02-24
        • 2018-07-14
        相关资源
        最近更新 更多