我正在使用Microsoft Visual C ++ 2005构建应用程序。在对库进行重大更新后,我在清单文件中收到以下条目:
<dependency>
<dependentAssembly>
<assemblyIdentity type="win32" name="Microsoft.VC80.DebugCRT" version="8.0.50727.4053" processorArchitecture="x86" publicKeyToken="1fc8b3b9a1e18e3b"></assemblyIdentity>
</dependentAssembly>
</dependency>
但是,当我在生成的可执行文件中使用Dependency Walker时,我根本看不到列表中的MSVC80D.DLL,这对我来说有点令人惊讶。
我还尝试将链接器设置为“详细”模式,以查看它是否会告诉我清单中指示的依赖关系来自何处。唉,那里的信息没有说明这个问题。
我还浏览了所有正在链接的库,看看是否有任何库使用调试CRT。尽我所知,他们都没有。
如何确定导致此问题的库?当我按原样分发可执行文件时,我得到了一个并排错误,大概是因为自动生成的清单中的这个条目。
非常感谢您提供的任何帮助......经过几天试图弄清楚发生了什么,我开始对此问题感到非常沮丧。
答案 0 :(得分:0)
我想我找到了解决问题的方法。我决定构建一个小型测试应用程序,然后添加我一次使用一个库。使用这种方法,我特别隔离了一个似乎导致问题的库。我确定该库没有使用dumpbin显示调试依赖项,但另一方面,我已经能够通过重建该库来消除不需要的清单行。