VS2012+SDL1.2.15 Installation

参考:http://www.cnblogs.com/landmark/archive/2011/09/26/2191693.html  感谢前辈分享!

平台:VS2012

下载包

SDL(Simple DirectMedia Layer)是一个自由的跨平台的多媒体开发包,适用于 游戏、游戏SDK、演示软件、模拟器、MPEG播放器和其他应用软件。 
SDL图形库包括八个子系统:视频、音频、事件、光驱、文件读写、游戏杆、时间、进程。最经常使用的是前三个,每一个子系统都有专门的安装包: 
SDL安装包:下载SDL-devel-1.2.15-VC

图像子系统安装包:

下载SDL_image-devel-1.2.12-VC

音频子系统安装包:

下载SDL_mixer-devel-1.2.12-VC

这三个安装包都包含了这样两个目录:include和lib。其中include目录存放的头文件,就像C语言自带的头文件一样,要使用SDL系统的函 数,必须包含相应的头文件,lib目录下存放的是一些静态库(.lib)和动态库(.dll),这些库里存放的是函数的二进制代码,你在你的程序里包含了 头文件以后,还要加载相应的库,否则编译器找不到相应的函数的代码会报错的,C语言自带的库默认就添加到了你C语言程序里了,不用显示自己管,但SDL不是C语言自带的库,所以必须自己添加这些库。 
要添加这些库,有两种方式,第一种是把头文件,库文件放到系统目录下,让编译器能找的到就可以了;第二种,自己建一个目录包含头文件、动态库、静态库,然后在编译器里设置工程属性就可以了。建议使用第二种方式。下面就这两种方式分别说明。

安装和配置过程

本文直接使用第二种方式,第一种方式可以参考文章开头的连接。

首先建立一个目录,假定名字为SDL_1.2.15,在目录下建三个文件夹:include、dll、lib,将下在下来的三个安装包解压,比如SDL-devel-1.2.15-VC.zip解压后会有两个目录:include和lib。然后将这三个解压后的文件夹里面的include、lib文件夹里面的内容拷贝到SDL_1.2.15里面的include和lib,然后把这个lib里面的dll文件再剪切出来到SDL_1.2.15\dll文件夹里面。然后开始建立VS工程,配置project。

(E:\CExtLibs\SDL_1.2.15这是我新建立的文件路径。这个路径下是安装SDL1.2.15版本的C库文件的路径,里面包含include、lib、dll。)
首先,添加environment variable:

可以使用命令行工具,必须以管理员身份运行:


set -m SDL1_2_15_DIR   E:\CExtLibs\SDL_1.2.15
这样就自动在环境变量中产生一个名字为SDL1_2_15_DIR,值为以上目录的变量,目的:方便以后更改路径,只要改变量名里面的东西,不需要改太多path的值。

然后,在Path中添加如下路径:

%SDL1_2_15_DIR%dll\  (Note the "\")


在VS的project property中添加SDL的include和lib的路径以及lib的名称。


$(SDL1_2_15_DIR)\include


$(SDL1_2_15_DIR)\lib


lib:
SDL.lib;SDL_image.lib;SDL_mixer.lib;SDLmain.lib;


 The test code:

//version:SDL1.2.15

#include <stdio.h>

#include <stdlib.h>

#include <SDL.h>

SDL_Surface *gpScreen;

int main(int argc,char *argv[])

{

	if((SDL_Init(SDL_INIT_VIDEO|SDL_INIT_AUDIO)==-1)) 
	{

		exit(-1);

	}

	gpScreen = SDL_SetVideoMode(600,600, 0,

	SDL_HWSURFACE | SDL_HWPALETTE | SDL_DOUBLEBUF );

	if( NULL == gpScreen ) 
	{

		SDL_Quit();

		return -1;

	}

	SDL_Delay(30);

	SDL_FreeSurface(gpScreen);//退出程序前必须释放

	SDL_Quit();//关闭SDL各个子系统

	system("pause");

	return 0;

}
成功运行的结果是:





评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值