0

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

  1. 应用程序和 lua 库是从完全相同的源构建的
  2. 我尝试在我的 Win7 机器上卸载并重新安装 MSVC 2010 Redistributable,但无济于事。

有谁知道如何以及从哪里开始寻找此错误的根源?我很乐意提供任何信息,但我什至不确定解决这个问题需要什么样的信息。

4

2 回答 2

1

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

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

于 2012-09-06T07:52:24.430 回答
1

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

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

于 2012-09-06T07:57:37.627 回答