精通
英语
和
开源
,
擅长
开发
与
培训
,
胸怀四海
第一信赖
近期追查DLL依赖问题,发现有些DLL在可以运行机器上也找不到,耐心搜索了下,发现此网页有用,翻译给大家。
I have been trying to resolve .dll dependencies for the executable file with Dependency Walker. Currently, I am getting missing .dlls in the following form:我一直在尝试使用Dependency Walker解决可执行文件的.dll依赖关系。当前,我越来越缺少以下形式的.dll:
API-MS-WIN-XXX
EXT-MS-WIN-XXX
For example:
API-MS-WIN-APPMODEL-IDENTITY-L1-2-0.DLL API-MS-WIN-APPMODEL-RUNTIME-INTERNAL-L1-1-0.DLL API-MS-WIN-BASE-UTIL-L1-1-0.DLL API-MS-WIN-CORE-APIQUERY-L1-1-0.DLL EXT-MS-WIN-RTCORE-NTUSER-SYSCOLORS-L1-1-0.DLL
Does anybody have any ideas on how to resolve these? Any help will be greatly appreciated!
Additional info: I compiled the executable using Visual Studio 2013. The most interesting thing is that I did not receive any errors during compilation. However, I cannot run it due to missing dependencies. I also attached a screenshot of dependency walker:
是否有人对如何解决这些问题有任何想法?任何帮助将不胜感激!
附加信息:我使用Visual Studio 2013编译了可执行文件。最有趣的是,编译期间我没有收到任何错误。但是,由于缺少依赖项,我无法运行它。我还附上了Dependency walker的屏幕截图:
Update 1: As an attempt to solve the problem I tried to add the path for the libraries that VS used during compilation to the $PATH environment variable without any luck (Dependency Walker still shows unresolved dependencies).
更新1:为了解决该问题,我尝试将VS在编译过程中使用的库的路径添加到$ PATH环境变量中,但是没有任何运气(Dependency Walker仍然显示未解决的依赖关系)。
So these are all false alarms and nothing to worry about. You're not missing anything.
Also see On API-MS-WIN-XXXXX.DLL, and Other Dependency Walker Glitches.
这些是API集-从本质上讲,是自Windows 7开始逐渐引入的额外级别的调用间接调用。Dependency walker的开发似乎在此之前就已停止,并且它无法正确处理API集。
因此,这些都是虚假警报,无需担心。您什么都不会错过。
另请参阅On API-MS-WIN-XXXXX.DLL和其他Dependency Walker故障。
Edit: Only in Oct 2017 did someone finally try to fill this gap. Meet Dependencies by lucasg. I've only briefly fiddled with it until now, but it handles API sets well and is at least very worthy of attention. 。
编辑:直到2017年10月,才有人最终尝试填补这一空白。通过lucasg满足依赖性。到目前为止,我仅作了简单的摆弄,但是它可以很好地处理API集,并且至少非常值得关注。
In addition to what @Ofek Shilon said, I usually ignore following dlls that dependency_walker identified as missing when I try to find missing dlls for my program. You will see that your program runs fine when dependency_walker says these dlls are missing.
You can search for dlls other than the ones above to resolve your problem.
除了@Ofek Shilon所说的以外,当我尝试为程序查找丢失的dll时,我通常会忽略以下那些由Dependency_walker标识为丢失的dll。当dependency_walker说缺少这些dll时,您将看到程序运行正常。
您可以搜索除上述以外的其他dll来解决问题。
I also ignore: