找不到 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++ src\main.cpp -o ..\..\test.exe -L lib\sdl32\lib -l SDL2 -I lib\sdl32\inc -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 是一个 导入 库。您在编译时使用它来 link 将代码加载 .dll 到您的二进制文件中。您仍然需要在运行时拥有包含实际实现的 SDL2.dll 文件。在 Windows 上,在 PATH 中搜索了 .dll 个文件;使用它们的最简单方法是将它们放在包含可执行文件的目录中。

.dll文件可供下载on the SDL website,您似乎只有开发文件。