1、下载sdl库:http://www.libsdl.org/release/SDL-devel-1.2.15-mingw32.tar.gz
3、在mingw32/include下建立SDL文件夹。把sdl库include中的文件全部copy到这里
4、把sdl的lib下文件全部copy到mingw32的lib下
5、把sdl_image库中的inlcude/sdl_image.h放到刚才建立的文件夹下
6、把sdl_image库中的lib中的dll文件全部copy到mingw32d的lib中
7、把sdl_imagelib中的dll和sdl中的sdl.dll放到你编译的exe文件目录
8、编译指令
gcc -o demo4.exe(输出文件名) demo4.c(源文件名) -lmingw32 -lSDL_image -lSDLmain -lSDL
测试代码(请在该目录放一个tt.png图片,随便。 自己网上找了):
#include<stdio.h> #include "SDL/SDL.h" #include "SDL/SDL_image.h" SDL_Surface *screen; void video_init(){ //游戏图形模式初始化 if(SDL_Init(SDL_INIT_VIDEO)){ fprintf(stderr,"Can't init SDL:%s\n",SDL_GetError()); exit(1); } screen=SDL_SetVideoMode(640,480,16,SDL_SWSURFACE); if(screen==NULL){ fprintf(stderr,"Can't set mode 640x480:%s\n",SDL_GetError()); exit(1); } atexit(SDL_Quit); SDL_ShowCursor(0);//关闭鼠标显示 } SDL_Surface *loadIMG(const char *fileName){ SDL_Surface *img; img = IMG_Load(fileName); if(img == NULL) { fprintf(stderr,"Could not load %s: %s",fileName,SDL_GetError()); exit(1); } return img; } SDL_Surface *loadBMP(char *fileName) //加载bmp图片 { SDL_Surface *bmp; bmp = SDL_LoadBMP(fileName); if(bmp == NULL) { fprintf(stderr,"Could not load %s: %s",fileName,SDL_GetError()); exit(1); } return bmp; } int main(int argc, char* argv[]){ if(SDL_Init(SDL_INIT_EVERYTHING)==-1){ printf("error..\n"); }else{ printf("ok\n"); video_init(); SDL_Surface *img; img=loadIMG("tt.png"); while (1){ // Poll for events, and handle the ones we care about. SDL_Rect dest; dest.x=100; dest.y=100; dest.w=200; dest.h=200; SDL_Color color; color.r=255; color.g=0; color.b=0; SDL_FillRect(screen, &screen->clip_rect, SDL_MapRGB(screen->format,0xFF,0xFF,0xFF)); SDL_FillRect(screen, &dest, SDL_MapRGB(screen->format,0,0,0xFF)); dest.x=200; dest.y=200; dest.w=200; dest.h=200; SDL_BlitSurface(img, &screen->clip_rect, screen,&dest); SDL_Flip(screen); SDL_Event event; while (SDL_PollEvent(&event)){ if(event.type==SDL_KEYDOWN){ int key = event.key.keysym.sym; printf("%d\n",key); if(key==SDLK_ESCAPE){ printf("%d\n",1000); SDL_Quit(); exit(1); }else if(key==SDLK_UP){ printf("up\n"); }else if(key==SDLK_DOWN){ printf("down\n"); }else if(key==SDLK_LEFT){ printf("left\n"); }else if(key==SDLK_RIGHT){ printf("right\n"); } }else if(event.type==SDL_QUIT){ printf("%d\n",1000); SDL_Quit(); exit(1); } } } } return 0; }
相关推荐
MinGW32+insight+bochs调试linux-0.11的环境:linux-0.11-insight.rar,完整版本。
msys+mingw64+mingw32, 集成32位和64位c,c++程序开发
基于QT5.10MingW32+opencv3.40(已编译), 本人亲自编译通过,并且能够使用,希望给碰到想同困难的朋友下提供帮助。 基于QT5.10MingW32+opencv3.40(已编译), 本人亲自编译通过,并且能够使用,希望给碰到想同...
Windows下Qt+minGW+CMake+Opencv4.3编译配置。使用cmake+mingw编译好的opencv4.3版本的安装包,直接白嫖就可以。
SDL2开发静态库mingw版本,可用于QT+FFMPEG+SDL进行音视频开发。
notepad++只是一个文件的编辑器 MInGW配置结束可以使用gcc编译 在windows下使用C语言开发运行
msys+mingw64+mingw32, 集成32位和64位c,c++程序开发
windows 环境下使用 cmake+mingw-w64+qt5.10 编译 opencv3.4... windows 环境下使用 cmake+mingw-w64+qt5.10 编译 opencv3.4... windows 环境下使用 cmake+mingw-w64+qt5.10 编译 opencv3.4... vvvv windows 环境...
Windows下MSYS+MinGW+GTK+GLADE+Eclipse环境搭建
msys+mingw64+mingw32, 集成32位和64位c,c++程序开发
4:精简代码,在windows下是可以完整编译通过并运行的.linux下要将对应ffmpeg库文件替换. 5:支持三通道同步显示一个视频流,可以单击截图按钮截图放在最后一个通道. 6: 支持单个通道双击最大化显示. 7:代码处理并不够...
msys+mingw64+mingw32, 集成32位和64位c,c++程序开发
msys+mingw64+mingw32, 集成32位和64位c,c++程序开发
windows下使用MinGW+msys编译ffmpeg.pdf
msys+mingw64+mingw32, 集成32位和64位c,c++程序开发
Windows 下以 Eclipse 和 MinGW Qt安裝及設置
msys+mingw64+mingw32, 集成32位和64位c,c++程序开发
msys+mingw64+mingw32, 集成32位和64位c,c++程序开发
msys+mingw64+mingw32, 集成32位和64位c,c++程序开发