C++ 依赖遍历器中缺少 Dll

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/24778284/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-08-28 00:49:21  来源:igfitidea点击:

Missing Dll in dependency walker

c++dlldependency-walker

提问by user3811406

I am having a dll and which I am opening into the dependency walker with platform visual studio 2003 and OS is 2000. and my that dll find all dependency.

我有一个 dll,我正在使用平台 Visual Studio 2003 和 OS 2000 打开依赖项walker。我的那个 dll 找到了所有依赖项。

But when I am going to open that dll in to tha another system which is having OS- windows7 and visual studio 2010, I found missing dlls errors.

但是,当我要在另一个具有 OS-windows7 和 Visual Studio 2010 的系统中打开该 dll 时,我发现缺少 dll 错误。

GDIPLUS.DLL,
GPSVC.DLL,
IESHIMS.DLL.

above listed 3 dll were missing. when I have downloded those dlls and put them into the same location where my dll is residing, I am finding below listed missing dlls list.

上面列出的 3 个 dll 丢失了。当我下载了这些 dll 并将它们放入我的 dll 所在的同一位置时,我发现下面列出了缺少的 dll 列表。

API-MS-WIN-CORE-COM-L1-1-1.DLL,
API-MS-WIN-CORE-DEBUG-L1-1-1.DLL,
API-MS-WIN-CORE-DELAYLOAD-L1-1-1.DLL,
API-MS-WIN-CORE-ERRORHANDLING-L1-1-1.DLL,
API-MS-WIN-CORE-FILE-L1-2-1.DLL,
API-MS-WIN-CORE-FILE-L2-1-1.DLL,
API-MS-WIN-CORE-HEAP-L1-2-0.DLL,
API-MS-WIN-CORE-HEAP-OBSOLETE-L1-1-0.DLL,
API-MS-WIN-CORE-JOB-L2-1-0.DLL,
API-MS-WIN-CORE-KERNEL32-LEGACY-L1-1-1.DLL,
API-MS-WIN-CORE-LIBRARYLOADER-L1-2-0.DLL,
API-MS-WIN-CORE-LOCALIZATION-L1-2-1.DLL,
API-MS-WIN-CORE-LOCALIZATION-OBSOLETE-L1-2-0.DLL,
API-MS-WIN-CORE-MEMORY-L1-1-2.DLL,
API-MS-WIN-CORE-PRIVATEPROFILE-L1-1-1.DLL,
API-MS-WIN-CORE-PROCESSENVIRONMENT-L1-2-0.DLL,
API-MS-WIN-CORE-PROCESSTHREADS-L1-1-2.DLL,
API-MS-WIN-CORE-REGISTRY-L1-1-0.DLL,
API-MS-WIN-CORE-REGISTRY-PRIVATE-L1-1-0.DLL,
API-MS-WIN-CORE-STRING-OBSOLETE-L1-1-0.DLL,
API-MS-WIN-CORE-SYNCH-L1-2-0.DLL,
API-MS-WIN-CORE-SYSINFO-L1-2-1.DLL,
API-MS-WIN-CORE-THREADPOOL-L1-2-0.DLL,
API-MS-WIN-CORE-THREADPOOL-LEGACY-L1-1-0.DLL,
API-MS-WIN-CORE-THREADPOOL-PRIVATE-L1-1-0.DLL,
API-MS-WIN-CORE-TIMEZONE-L1-1-0.DLL,
API-MS-WIN-DOWNLEVEL-ADVAPI32-L1-1-0.DLL,
API-MS-WIN-DOWNLEVEL-OLE32-L1-1-0.DLL,
API-MS-WIN-DOWNLEVEL-SHLWAPI-L1-1-0.DLL,
API-MS-WIN-EVENTING-PROVIDER-L1-1-0.DLL,
API-MS-WIN-SECURITY-ACTIVEDIRECTORYCLIENT-L1-1-0.DLL,
API-MS-WIN-SECURITY-BASE-L1-2-0.DLL,
API-MS-WIN-SECURITY-GROUPPOLICY-L1-1-0.DLL,
API-MS-WIN-SECURITY-LSALOOKUP-L1-1-1.DLL,
API-MS-WIN-SECURITY-LSALOOKUP-L2-1-1.DLL,
API-MS-WIN-SECURITY-PROVIDER-L1-1-0.DLL,
API-MS-WIN-SERVICE-CORE-L1-1-1.DLL,
API-MS-WIN-SERVICE-WINSVC-L1-2-0.DLL,
SYSNTFY.DLL.

It is may be because of configuration issue, please help me out to resolve this issue.

可能是因为配置问题,请帮我解决这个问题。

采纳答案by David Heffernan

These reported errors for GDIPLUS.DLL, GPSVC.DLLand IESHIMS.DLLare false positives. The static analysis that Dependency Walker does will sometimes report errors like this. But when you attempt to load the DLL you will find, I believe, that it loads successfully.

这些报告的错误为GDIPLUS.DLLGPSVC.DLL并且IESHIMS.DLL是误报。Dependency Walker 所做的静态分析有时会报告这样的错误。但是当您尝试加载 DLL 时,我相信您会发现它加载成功。

You do not need to download these three DLLs. You should absolutely reverse that action. Remove those files from the directory where your DLL resides.

您不需要下载这三个 DLL。你绝对应该逆转那个动作。从 DLL 所在的目录中删除这些文件。

回答by Ofek Shilon

All the API-MS-WIN-XXX 'missing' dll's are really API-sets(sometimes referred to as 'virtual DLLs'). Dependency walker just wasn't updated since before their inception. Here are some details.

所有 API-MS-WIN-XXX“缺失”的 dll 都是真正的API 集(有时称为“虚拟 DLL”)。Dependency walker 在他们成立之前就没有更新。 这里有一些细节