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