分析DLL清单中的CRT依赖关系

时间:2011-04-18 18:34:31

标签: c++ dll side-by-side

我正在使用Visual Studio 2005来构建DLL。通过在文本编辑器中打开DLL,我可以看到它引用了多个MS CRT,如下所示。如何找到依赖元素引用的DLL的名称?我试图专门找到链接到8.0.50727.5592版本的CTR的依赖关系的源,它是最后一个。

有什么想法吗?

                                                的                    

3 个答案:

答案 0 :(得分:1)

最有可能的是,您正在自动注入依赖项,因为您正在链接使用您正在使用的运行时的不同版本的第三方库。检查您的dll链接的库,并且很可能其中一个将具有您在那里的确切额外依赖性。顺便说一句,您可以使用VS2005打开一个DLL并查看其嵌入式清单。

答案 1 :(得分:1)

我知道它是一个旧帖子,但我遇到了同样的问题,并找到了一个很好的工具来列出所有包含的libs的所有依赖项。我使用VS 2010:
在命令提示符下,转到Microsoft Visual Studio 10.0 \ VC \ bin并运行命令:
link / dump / directives libpathandname.lib 这将列出所有链接器依赖项,包括精确的CRT版本。

答案 2 :(得分:0)

我不确定它是否会告诉你在这个例子中你需要什么,但是Dependency Walker可能会对它有所了解。它会显示哪些依赖的dll依赖于CRT,它可能会显示清单中的版本,但我不确定。