找不到 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 网站上下载,您似乎只有开发文件。

最新更新