MSVCR100在一台计算机上,但MSVCR80在另一台计算机上

时间:2012-09-06 07:48:13

标签: msvcrt

我正在开发一个依赖Lua的应用程序。在我的Windows XP机器上,应用程序运行正常,但在我的Windows 7机器上,应用程序拒绝启动并抱怨无法找到MSVCR80.dll。我跟踪了dll依赖项并发现在XP机器上Lua库依赖于MSVCR100.dll,但在Win 7机器上编译的Lua库依赖于MSVCR80.dll。这非常令人困惑,因为

  1. 应用程序和lua库是从完全相同的源构建的
  2. 我尝试在Win7计算机上卸载并重新安装MSVC 2010 Redistributable无济于事。
  3. 有没有人有任何想法如何以及从何处开始寻找此错误的来源?我很乐意提供任何信息,但我甚至不确定解决这个问题需要什么样的信息。

2 个答案:

答案 0 :(得分:1)

编译器添加了MSVCR *依赖项。因此,Lua源是相同的并不重要;您使用两个不同版本的Visual Studio编译了库。

要修复DLL依赖项问题,请使用Dependency Walker。

答案 1 :(得分:1)

MSVCR80.dll是Microsoft Visual C ++ 2005 Redistributable软件包的一部分。如果你安装它,它应该工作。

可以在此处下载MSVC 2005可再发行组件:http://www.microsoft.com/en-us/download/details.aspx?id=3387