赞
踩
SDL(Simple DirectMedia Layer)是一个跨平台的多媒体开发库,使用C语言写成,用于实现音频、图形、输入以及窗口功能的处理。它提供了一个简单、易用的API,可以帮助开发者快速构建跨平台的多媒体应用程序。
SDL库分为 Video、Audio、CD-ROM、Joystick 和 Timer 等若干子系统。
除此之外,还有一些单独的官方扩充函数库。这些库由官方网站提供,并包含在官方文档中,共同组成了SDL的“标准库”:
SDL2.0源码下载地址:
GitHub - libsdl-org/SDL at SDL2
解压源码包:
使用cmake进行编译:设置源码的路径,以及编译后的存放路径,
点击Configure,再点击Generate,最后Open Project,编译成库。
最后库文件生成到Release目录下。
新建解决方案工程文件SDL2Test.sln
在解决方案工程文件SDL2Test.sln基础上新建项目SinglestTest。
在SinglestTest同级目录下新建目录thirdPart
thirdPart目录结构如下所示thirdPart\SDL2
分别将编译好的lib、dll库文件放到lib目录、bin目录下。
将源码中的SDL-SDL2\include目录下所有文件拷贝到include目录下。
SinglestTest工程配置include和lib。
C/C++->常规->附加包含目录:$(SolutionDir)thirdPart\SDL2\include
链接器->常规->附加库目录:$(SolutionDir)thirdPart\SDL2\lib
链接器->输入->附加依赖项:SDL2.lib
至此环境已经配置完成。
- // SinglestTest.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
- //
-
- #include <iostream>
- #include <SDL.h>
-
-
- #undef main
- int main()
- {
- SDL_Window *window = SDL_CreateWindow("demo", SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED, 640, 480, SDL_WINDOW_SHOWN);
- SDL_Renderer *renderer = SDL_CreateRenderer(window, -1, SDL_RENDERER_ACCELERATED);
- bool quit = false;
- SDL_Event event;
-
- SDL_SetRenderDrawColor(renderer, 255, 255, 255, 255);
- while (!quit) {
- while (SDL_PollEvent(&event)) {
- switch (event.type) {
- case SDL_QUIT:
- quit = true;
- break;
- case SDL_MOUSEMOTION:
- if (SDL_GetMouseState(NULL, NULL) &SDL_BUTTON(1))
- SDL_RenderDrawPoint(renderer, event.motion.x, event.motion.y);
- break;
- }
- }
-
- SDL_RenderPresent(renderer);
- SDL_Delay(1000 / 60);
- }
- SDL_DestroyWindow(window);
- SDL_DestroyRenderer(renderer);
- return 0;
- }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。