使用的是SDL3-mingw
https://github.com/libsdl-org/SDL/releases/tag/release-3.2.24
上面这个页面,选择下载SDL3-devel-3.2.24-mingw.zip,
解压后复制x86_64-w64-mingw32这个目录到你的项目文件夹里,我的是sdl3_study:
sdl3_study\x86_64-w64-mingw32
创建我的项目入口文件demo.c
sdl3_study\demo.c
把x86_64-w64-mingw32\bin\SDL3.dll复制到sdl3_study文件夹里
sdl3_study\SDL3.dll
sdl3_study\demo.c
在cmd命令行里链接库和头文件(以下绝对路径改成自己电脑的绝对路径)
gcc demo.c ^
-I"P:\Users\Administrator\Downloads\sdl2_study\x86_64-w64-mingw32\include" ^
-L"P:\Users\Administrator\Downloads\sdl2_study\x86_64-w64-mingw32\lib" ^
-lSDL3 -mwindows ^
-o demo.exe
cmd运行demo.exe,应该是一个黑窗口。
完整的目录结构如下:
P:\Users\Administrator\Downloads\sdl2_study\x86_64-w64-mingw32
P:\Users\Administrator\Downloads\sdl2_study\demo.c
P:\Users\Administrator\Downloads\sdl2_study\SDL3.dll
demo.c内容如下:
#include <SDL3\SDL.h> #include <stdio.h>int main(int argc, char *argv[]) {if (!SDL_Init(SDL_INIT_VIDEO)) {fprintf(stderr, "SDL_Init failed: %s\n", SDL_GetError());return -1;}SDL_Window *win = SDL_CreateWindow("SDL3 Hello - MinGW",640, 480, 0);if (!win) {fprintf(stderr, "CreateWindow failed: %s\n", SDL_GetError());SDL_Quit();return -1;}/* 简单事件循环,按任意键或关窗口退出 */int running = 1;while (running) {SDL_Event evt;while (SDL_PollEvent(&evt)) {if (evt.type == SDL_EVENT_QUIT ||(evt.type == SDL_EVENT_KEY_DOWN &&evt.key.scancode == SDL_SCANCODE_ESCAPE))running = 0;}SDL_Delay(16); // ~60 FPS }SDL_DestroyWindow(win);SDL_Quit();return 0; }
