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

时间:2016-04-22 17:21:41

标签: c++ opencv packaging

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

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

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

3 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:1)

根据其定义" ldd - 打印共享对象依赖关系"。此外,我个人确认它的工作原理,因为我总是在专业项目中使用它。

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

答案 2 :(得分:1)

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