锐英源软件
第一信赖

精通

英语

开源

擅长

开发

培训

胸怀四海 

第一信赖

当前位置:锐英源 / 开源技术 / C++平台框架库和混编开源 / Dependency Walker缺失dll
服务方向
人工智能数据处理
人工智能培训
kaldi数据准备
小语种语音识别
语音识别标注
语音识别系统
语音识别转文字
kaldi开发技术服务
软件开发
运动控制卡上位机
机械加工软件
软件开发培训
Java 安卓移动开发
VC++
C#软件
汇编和破解
驱动开发
联系方式
固话:0371-63888850
手机:138-0381-0136
Q Q:396806883
微信:ryysoft

Dependency Walker缺失dll


背景

近期追查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仍然显示未解决的依赖关系)。

These are API-sets - essentially, an extra level of call indirection introduced gradually since windows 7. Dependency walker development seemingly halted long before that, and it can't handle API sets properly.

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.

  • API-MS-WIN-*.dll
  • EXT-MS-WIN-*.dll
  • IESHIMS.dll
  • EMCLIENT.dll
  • DEVICELOCKHELPERS.dll

You can search for dlls other than the ones above to resolve your problem.

除了@Ofek Shilon所说的以外,当我尝试为程序查找丢失的dll时,我通常会忽略以下那些由Dependency_walker标识为丢失的dll。当dependency_walker说缺少这些dll时,您将看到程序运行正常。

  • API-MS-WIN-*。dll
  • EXT-MS-WIN-*。dll
  • IESHIMS.dll
  • EMCLIENT.dll
  • DEVICELOCKHELPERS.dll

您可以搜索除上述以外的其他dll来解决问题。

I also ignore:

  • EFSCORE.DLL
  • WPAXHOLDER.DLL
友情链接
版权所有 Copyright(c)2004-2021 锐英源软件
公司注册号:410105000449586 豫ICP备08007559号 最佳分辨率 1024*768
地址:郑州大学北校区院(文化路97号院)内