在我的开发机器上一切正常。在我的测试机器上,我无法运行我的 .exe,因为它显示“找不到 Lib.dll 或其依赖项之一”。但是 Lib.dll 与 .exe 位于同一目录中,我对 DLL 和 EXE 运行 CorFlags:它们都报告“PE32”,因此它们都是 32 位的。Lib.dll 没有任何其他依赖项。我删除了所有这些并进行了测试。为什么它可能会失败?
问问题
304 次
1 回答
0
我使用了依赖行者正如评论中有人建议的那样。Dependencywalker 显示我有几个丢失的 DLL,我追溯它们属于 Visual C++ 2012 Redistributable。因此,请确保您在测试/生产机器上安装了正确版本的 Visual C++ Redistributable。我还将 Visual Studio 中的项目从调试模式切换到发布模式,我过去也犯过这个错误,所以我不会很快再犯这个错误。如果您将项目置于调试模式,则 DLL 依赖项与将其置于发布模式时略有不同。Visual C++ redistributable 没有 Debug DLL,只有 Release 的 - 所以即使您正在测试,除非您知道在哪里可以找到 Debug DLL(与 Visual Studio 一起安装在您的开发机器上),否则可能需要进行此更改。
于 2013-07-19T14:39:27.523 回答