何为SDL:SDL(Simple Direct Media Play)是一套开放源代码的跨平台媒体开发库,它是一个跨平台的多媒体库,以用于直接控制底层的多媒体硬件的接口。这些多媒体功能包括了音频、键盘和鼠标(事件)、游戏摇杆等。当然,最为重要的是提供了2D图形帧缓冲(framebuffer)的接口,以及为OpenGL与各种操作系统之间提供了统一的标准接口以实现3D图形。从这些属性我们可以看出,SDL基本上可以认为是为以电脑游戏为核心开发的多媒体库。
VS2008下配置SDL开发环境:
1.下载SDL-devel-1.2.15-VC.zip(在http://www.libsdl.org/download-1.2.php可见)
2.解压缩SDL-devel-1.2.13-VC8.zip,docs里面包含了官方文档,这将是你学习SDL的主要参考资料。找到你在硬盘上安装VC的位置,类似:C:\Program Files\Microsoft Visual Studio 9.0\VC,打开include文件夹,在里面建立一个新文件夹,取名为SDL,打开这个新的文件夹:C:\Program Files\Microsoft Visual Studio 9.0\VC\include\SDL,然后,将SDL Development Libraries中include文件夹里面的文件全部拷贝到刚才建立起来的那个新文件夹中。
然后,回到VC的.\VC文件夹下,打开lib文件夹:C:\Program Files\Microsoft Visual Studio 9.0\VC\lib,将SDL Development Libraries中lib文件夹下的SDL.lib和SDLmain.lib两个文件拷贝到刚才的那个VC的lib文件夹下。
最后,把SDL Development Libraries中lib文件夹下的SDL.dll文件拷贝到C:\WINDOWS\system32下。当然,另外一个选择是将SDL.dll随时绑定到使用了SDL库编译的*.exe文件所在的文件夹中。这通常在发布你的程序的时候使用。
3.第一个VC++下的SDL程序
trySDL.cpp
#include "stdafx.h"
#pragma comment(lib,"SDL.lib")
#pragma comment(lib,"SDLmain.lib")
int main(int argc, char* argv[])
{
try {
if ( SDL_Init(SDL_INIT_EVERYTHING) == -1 )
throw "Could not initialize SDL!";
}
catch ( const char* s )
{
std::cerr << s << std::endl;
return -1;
}
std::cout << "SDL initialized.\n";
SDL_Quit();
return 0;
}
stdafx.h
#pragma once
#include "targetver.h"
#include <iostream>
#include "SDL/SDL.h"
#include <tchar.h>