我已经构建了一个 C++ dll 以从 dot net 使用。当我运行程序时出现错误,找不到 dll。
dll 在那里 - 但我使用依赖项步行器检查了它 - 并得到了以下内容:
API-MS-WIN-CORE-COM-L1-1-0.DLL
API-MS-WIN-CORE-WINRT-ERROR-L1-1-0.DLL
API-MS-WIN-CORE-WINRT-L1-1-0.DLL
API-MS-WIN-CORE-WINRT-ROBUFFER-L1-1-0.DLL
API-MS-WIN-CORE-WINRT-STRING-L1-1-0.DLL
API-MS-WIN-SHCORE-SCALING-L1-1-0.DLL
DCOMP.DLL
Error opening file. The system cannot find the file specified.
我进行了搜索 - 显然这些是 Win 7 文件,而我有 Windows 7 - 但没有找到。
我能做什么?
我使用的是 VS2010,Windows 7
最佳答案
Dependency Walker(来自这里:http://www.dependencywalker.com/)已经过时了。虽然它在 win7/win8 上运行,但无法从中检测到正常的 DLL。如果您打开最新版本 2.2.6000 的“关于”选项卡,您会看到它是在 2006 年 10 月 29 日构建的。哎呀。很惊讶它完全有效。
您可以在多个位置获取进程监控工具。我从这里抓到了我的:https://technet.microsoft.com/en-us/sysinternals/bb896645
一旦你得到它,你可以为“程序名称是”添加一个过滤器,然后运行你的程序。你会看到加载和加载失败的东西等等。结果并不像您希望的那样简洁,但是当出现故障时,它会被列出。
关于c++ - dll 缺少对 Windows 7 文件的依赖项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17179380/