第三方编译的二进制文件的所有依赖项

第三方编译的二进制文件的所有依赖项

我有一个由第三方编译的二进制文件,我需要知道它所需的所有依赖项。我不确定是否ldd显示了一切。我确定二进制文件使用 GStreamer 和一些编解码器包,但ldd仅显示 GStreamer,没有编解码器包...

有什么想法如何正确地做到这一点吗?

答案1

库可以在运行时加载,具体取决于特定环境、命令行参数、配置选项,甚至可能是月相。库本身也可以依赖于其他库。因此,除非你知道你的二进制文件在里面做什么,否则确定实际需要什么似乎是不可能的。

答案2

ldd是一个好的开始。然后,您可以通过 运行二进制文件strace -fo /tmp/strace.log,并查看应用程序试图查找的内容。

grepof 开头ENOENT它是什么不是发现。

您还可以查看该应用程序随附的文档以及可能的运行日志(如果有)。

答案3

ldd 仅显示链接依赖关系,也就是说,它不显示实际成功运行程序可能需要什么,而只是显示运行程序根本需要什么。

您应该通过包管理器进行依赖项解析。

相关内容