2016-04-22 79 views
0

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

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

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

+0

不要忘记检查你是否被允许重新分配他们,阅读他们的许可证。 [OpenCV允许你这样做](http://opencv.org/license.html)。 – Berriel

回答

1

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

1

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