c++ - 有没有办法搜索和复制所有的 DLL 依赖项?
问题描述
众所周知,当尝试运行缺少某些依赖 DLL 的程序时,系统会抱怨“缺少 dll”错误。我用来避免这种情况的方法是将所有依赖的 DLL 打包到安装程序中,以便该软件可以在其他设备上运行。然而,随着依赖 DLL 的数量越来越多,手动搜索和复制 DLL 变得如此繁琐,尤其是考虑到这些直接依赖的 DLL 可能有自己的依赖关系。
我知道dumpbin、Dependency Walker和Dependencies来跟踪 DLL 依赖关系。但他们只列出了依赖的 DLL。我想知道是否有任何命令/脚本/工具可以:
- 递归搜索可执行文件的依赖 DLL
- 将这些依赖项复制到指定目录
- 最好支持从指定目录中排除 DLL,例如
C:\WINDOWS\system32\
老实说,我不知道这种事情是否存在。如果没有,你们如何处理这个 DLL 问题?
解决方案
我一直在此链接下使用 InstallAware Express CodeGear Edition http://cc.embarcadero.com/Item/24997
它不再继续。但是那里有一个菜单,它可以找到并定位依赖的 dll 或 bpl 文件,然后您创建一个快速而肮脏的安装项目,所有这些都复制到一个文件夹中。比您可以将它们用于您的应用程序。这不再适合我,我也在寻找另一种工具。如果你发现了什么,请告诉我。
推荐阅读
- c# - 扁平按钮样式 - 当按钮处于活动状态时隐藏边框和焦点提示
- ios - 如何使 CareKitUI 条形图与 SwiftUI 兼容
- java - 将 ArrayList 用于对象数组的正确方法?
- python - 如何在具有强模式的日常数据中查看趋势和残差模式
- sql - SQL to_char() | 将分钟转换为大小为 2 的字符串
- c - 如何访问结构内的数据?
- r - 使用R从多个excel文件中提取数据
- ios - 使用 Delphi 10.4 和 XCode 10.1 编译 iOS 应用程序时出现问题 - 找不到 /usr/bin/actool
- c - 减法不起作用,而我该如何解决?
- javascript - 如何将 magenta.js 音符序列转换为 midi 文件?