当我在发布模式下运行项目时,出现以下错误:
This application has failed to start because GLU.dll was not found.
此外,当我在调试模式下运行时,它只在我运行Visual Studio时才有效,因为如果我运行.exe文件,它就不会加载。
答案 0 :(得分:1)
调试器使用初始工作目录创建进程,该目录不是可执行文件所在的目录。默认情况下,调试器使用项目目录作为调试对象的工作目录。所以,我怀疑你的DLL已被放置在项目目录中。并且加载器通过在工作目录中成功定位DLL。
现在,当您通过双击它来运行可执行文件时,工作目录就是可执行文件所在的目录。所以找不到DLL。
您不应该依赖工作目录来进行DLL解析。最佳做法是将您的DLL放在与可执行文件相同的目录中。一旦你这样做,你会发现你的应用程序加载。最简单的方法是使用post-build事件将DLL从项目目录复制到可执行输出目录。