我的环境中安装了VisualStudio 2005和VisualStudio 2013。我对一些项目感到奇怪。我使用VS2013编译这样的项目,当我尝试通过资源管理器或命令行启动它时,我收到错误 - "程序无法启动,因为MSVCR80.dll丢失了......"。为什么用msvcr120编译msvcr80?
我尝试了什么:
将msvc * 80.dll放入带可执行文件的目录中。我得到了运行时错误" R6034。应用程序尝试错误地加载C运行时库..."
使用Dependency Walker检查二进制依赖项。我看到二进制文件依赖于VS2013运行时,并且没有提及msvcr80.dll
这怎么可能?
答案 0 :(得分:0)
谢谢大家,你是对的。我忘记了,我已经安装了旧版本的产品。它是在后台启动并使用旧版本的库。因此,当我运行我的新应用程序时,它尝试使用已加载的库。另一方面,Dependecy walker没有检查已加载的库,只查看PATH。
关于DLL加载的MSDN链接 - https://msdn.microsoft.com/ru-ru/library/windows/desktop/ms682586(v=vs.85).aspx