我正在尝试编译我编写的 SDL 程序,但是当我这样做时,会出现此错误:
程序无法启动,因为您的计算机缺少 SDL.dll。尝试重新安装程序以解决此问题
我不知道为什么。我有 SDL.dll。
我已将它放在正确的文件夹中:
C:\Windows\System32
.我对所有 SDL 标头等都有正确的路径。
VS 说:
构建成功:1
然后屏幕上会弹出上面的错误。
我正在尝试编译我编写的 SDL 程序,但是当我这样做时,会出现此错误:
程序无法启动,因为您的计算机缺少 SDL.dll。尝试重新安装程序以解决此问题
我不知道为什么。我有 SDL.dll。
我已将它放在正确的文件夹中:C:\Windows\System32
.
我对所有 SDL 标头等都有正确的路径。
VS 说:
构建成功:1
然后屏幕上会弹出上面的错误。
将其添加到您的调试文件夹或您的程序当前所在的任何目录中。
SDL.dll
必须与您的应用程序位于同一目录中,或者位于PATH
环境变量中的目录中。
如果SDL.dll
是 32 位,并且您正在运行 64 位系统,则必须将 dll 放入/Windows/SysWOW64/
而不是/Windows/System32/
用于 64 位 dll 的 dll 中。
编辑:
您可能不应该通过将 DLL 复制到 System32 目录来部署它们,除非它们是多个应用程序使用的通用库,即使那样我也会谨慎行事。例如,应用程序可以更新 DLL,这可能会破坏其他依赖于旧版本库的应用程序。
Instead, copy the DLLs into the same directory that the executable is being built in. If you're building and executing with Visual Studio it will look for the DLL in the Project directory, where your source files are probably located.
只需将您的 SDL.dll 放在同一个文件夹中,您的问题就会得到解决。为了回答您的 PATH 问题,您可以在 Visual Studio 中指定他将在调试时查找可执行文件的位置。也许这没有正确设置,这就是为什么 VS 找不到 SDL.dll?