如何找出我的程序依赖的文件?

时间:2011-03-16 13:42:48

标签: deployment installation cross-platform dependencies packaging

当我为我的程序创建一个安装程序时,我常常遇到问题,我错过了一些它依赖的文件。

在Windows上:

我经常错过我系统上安装的一些DLL。我通常只是在一个文件夹中移动可执行文件来测试我的安装,看看它为哪个DLL哭。但它会使用它在我的system32文件夹中找到的DLL - 那些DLL可能在其他用户的系统中,也许不是。

其他方式我发现我在十六进制编辑器中打开EXE并搜索模式'.DLL'。但是dll也可以依赖其他dll。

是否有一个(最好是免费的)工具可以告诉我我的程序需要什么DLL?所以我不会错过任何东西。

在Linux上:

Linux拥有一个很好的包管理系统。在这些系统中安装安装程序意味着为它们制作包。我可以找出我的程序需要的.so(共享对象)文件。但是,如何确定哪个包包含该.SO文件,以便在打包时将该包添加为依赖项?

1 个答案:

答案 0 :(得分:2)

在Windows上,您正在寻找的是一个名为Dependency Walker的工具,它可以告诉您EXE(或其他DLL)所依赖的DLL。

在Linux上,请参阅Dependency resolution in Linux