找不到 sdl2.dll
Couldn't find sdl2.dll
>我正在尝试使用 sdl2,但是当我尝试运行我的程序时,它给了我一个错误,上面写着
code execution can't proceed because SDL2.dll couldn't be found. try reinstalling [...]
我从终端编译,没有任何 IDE(我正在用 Sublime Text 编写代码(。我的命令如下所示
g++ srcmain.cpp -o ....test.exe -L libsdl32lib -l SDL2 -I libsdl32inc -m32
和我的文件系统是这样的
我尝试将.exe
文件放在与lib
文件相同的目录中,但它不起作用。
我认为问题可能是它正在寻找SDL2.dll
文件并且所有文件都libSDL2.*
,我尝试更改文件名,但没有用。
我也认为问题是扩展名,因为它们都在*.dll.a
、*.a
或*.la
,我尝试更改它但没有奏效(我也尝试了两者的组合(。
这是我的main.cpp
#define SDL_MAIN_HANDLED
#include <SDL.h>
int main(int argc, char* argv[]) {
SDL_Init(SDL_INIT_EVERYTHING);
SDL_Window* window = SDL_CreateWindow("Window", SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED, 800, 450, SDL_WINDOW_SHOWN);
SDL_Renderer* renderer = SDL_CreateRenderer(window, -1, 0);
SDL_SetRenderDrawColor(renderer, 0, 0, 255, 255);
SDL_RenderClear(renderer);
SDL_RenderPresent(renderer);
SDL_Delay(3000);
SDL_Quit();
return 0;
}
我是否缺少文件或编译器标志或其他内容?
libSDL2.dll.a
是一个导入库。您可以在编译时使用它来链接代码,以将.dll
加载到二进制文件中。您仍然需要在运行时拥有包含实际实现的SDL2.dll
文件。在 Windows 上,.dll
文件在PATH
中搜索;使用它们的最简单方法是将它们放在包含可执行文件的目录中。
.dll
文件可在 SDL 网站上下载,您似乎只有开发文件。
相关文章:
- 挂起和取消挂起一个文件DLL
- std::threads可以从Windows DLL中的全局变量创建/销毁吗?
- 导入库可以跨dll版本工作吗
- 从C++dll访问C#中的一行主要参数
- 链接到自行创建的dll失败
- 为什么使用 P/Invoke 调用 dll 时,某些计算机中的 LoadLibrary 失败?
- 在调用FreeLibrary后,释放动态链接到具有相同版本的CRT堆的DLL的内存
- 如何指定我希望我的LIB链接到的DLL文件?-Visual Studio 2019
- 如何将图像传输到c++(dll)中的缓冲区,然后在c#的缓冲区中读/写
- C++:将外部库链接到dll库
- 在 Windows 上,是否可以让 dll 在不使用 PATH 环境变量的情况下在另一个文件夹中查找依赖项?
- 不同的Visual Studio版本中缺少.dll
- 从DLL中删除类的实例
- 如何包装第三方DLL在R中使用
- 找不到 sdl2.dll
- 无法在 DLL 中链接 SDL2-static.lib
- 是否可以将 SDL .lib、.dll 和头文件放在某个地方,以便我可以在 Visual Studio 2017 RC 项目中键入 #include < SDL2.h>?
- SDL2.DLL missing
- C++ & SDL2 - "Auto-Generate"使用的DLL?
- C++ "File" .exe 中 SDL 0x6C7DB2AA (SDL2.dll) 处未处理的异常: 0xC0000005:访问冲突读取位置0x00000044