首页 > 代码库 > SDL库的安装

SDL库的安装

SDL的介绍

   SDL是Simple DirectMedia Layer(简易直控媒体层)的缩写。它是一个跨平台的多媒体库,以用于直接控制底层的多媒体硬件的接口。这些多媒体功能包括了音频、键盘和鼠标(事件)、游戏摇杆等。当然,最为重要的是提供了 2D图形帧缓冲(framebuffer)的接口,以及为 OpenGL 与各种操作系统之间提供了统一的标准接口以实现 3D图形。从这些属性我们可以看出,SDL 基本上可以认为是为以电脑游戏为核心开发的多媒体库。

         SDL 支持主流的操作系统,包括 Windows 和 Linux。在官方的介绍中,我们可以找到它所支持的其他平台。(SDL supports Linux, Windows, Windows CE, BeOS, MacOS, Mac OS X, FreeBSD, NetBSD, OpenBSD, BSD/OS, Solaris, IRIX, and QNX. )。SDL 本身从 C 语言开发,并且能很好的在C++等高级语言中使用。在官方可以看到SDL所支持的语言很多。(Including Ada, C#, Eiffel, Erlang, Euphoria, Guile, Haskell, Java, Lisp, Lua, ML, Objective C, Pascal, Perl,

PHP, Pike, Pliant, Python, Ruby, Smalltalk, and Tcl. )

         SDL在GNU LGPL version 2 下发布,这意味着你可以免费的使用。并且可以免费的用于商业软件的制作(只要你直接使用 SDL 的动态链接库,Windows 下的 SDL.dll)。如果你将 SDL 库编译进了自己的二进制代码中,你需要指明你所使用的 SDL 库的版本以及包括你自己修改的源代码,并说明这些代码的原始出处。这是很宽松的法律,你可以用如此强大的多媒体库完全合法的免费开发商业游戏。

 

SDL的组成

SDL本身是封装各种操作系统,图形,输入,输出等底层输出。在某一些分支,还有一些额外的库支持来扩展SDL的功能。常见的扩展有

lSDL_image ,SDL默认只支持BMP格式图象,如果需要其它图形JPEG/GIF/PNG/TIFF等就需要这个扩展库

lSDL_ttf 。使用MS的True Type Font 来显示各种字体,包括中文或其它非字母文字。

lSDL_net . 封装网络处理。

lSDL-mixter 封装对各种音效,播放音乐文件的处理。

 lSDL_gfx SDL图形显示及特效扩展。

 

SDL其它扩展:

 

图形界面

 

Agar - Advanced GUI toolkit with OpenGL support. Object-oriented, extensible and easily integrable, it is implemented in C but is usable from C++ and other languages
http://libagar.org

500)this.width=500;" border=0>


  
  
 



SDL库的安装 
  
SDL库在LINUX是安装非常简单的,是典型的configure/make/make install的项目.有一项目需要提前安装依赖库. 
  
SDL库 
SDL_image库,需要先安装libjpeg/libpng 
SDL-mixter库,需要先安装libmad 库,(libid3tag不是必须)但是建议安装. 
SDL_ttf库. 
SDL_net 
SDL_gfx 库安装
SDL库的安装

下载 http://www.libsdl.org/release/SDL-1.2.14.tar.gz 
解压 tar xvzf SDL-1.2.14.tar.gz 
生成Makefile cd SDL-1.2.14    & ./configure 
编译安装 然后 make & make install
建议下载 sdl联机文档.

http://www.libsdl.org/archives/sdldoc-html.zip 或http://www.libsdl.org/archives/SDLRef.chm

以及FAQ http://www.libsdl.org/archives/SDL-1.2-FAQ.zip

SDL_image库的安装

下载 http://www.libsdl.org/projects/SDL_image/release/SDL_image-1.2.8.tar.gz 
预先安libpng,否则png 格式不支持,RHEL自带了相关库执行 
rpm -ivh libpng-1.2.10-7.i386.rpm 
rpm -ivh libpng-devel-1.2.10-7.i386.rpm
预先安装libjpeg,否则jpeg,gif,tiff 很多格式不支持.RHEL自带了相关库执行. 
rpm -ivh libjpeg-6b-37.i386.rpm 
rpm -ivh libjpeg-devel-6b-37.i386.rpm
解压 tar xvzf SDL_image-1.2.8.tar.gz 
cd SDL_image-1.2.8
生成makefile ./configure 
编译,安装 make & make install
    SDL_ttf库的安装

下载 http://www.libsdl.org/projects/SDL_ttf/release/SDL_ttf-2.0.9.tar.gz 
解压 tar xvzf SDL_ttf-2.0.9.tar.gz 
cd SDL_ttf-2.0.9
SDL_ttf 可以用freetype支持库 
下载 http://ftp.twaren.net/Unix/NonGNU/freetype/freetype-2.3.11.tar.gz 
解压 tar xvzf freetype-2.3.11.tar.gz 
然后./confgiure & make & make install
生成makefile ./configure 
编译,安装 make & make install

SDL-mixer库安装

下载http://www.libsdl.org/projects/SDL_mixer/release/SDL_mixer-1.2.11.tar.gz 
SDL-mixer 需要libmad 支持 
下载ftp://ftp.mars.org/pub/mpeg/libmad-0.15.1b.tar.gz 
解压 tar xvzf libmad-0.15.1b.tar.gz 
然后然后./confgiure & make & make install
建议安装libid3tag库 
下载 ftp://ftp.mars.org/pub/mpeg/libid3tag-0.15.1b.tar.gz 
解压 tar xvzf libid3tag-0.15.1b.tar.gz 
然后然后./confgiure & make & make install
解压 tar xvzf SDL_mixer-1.2.9.tar.gz 
cd SDL_mixer-1.2.9
生成Makefile ./configure --enable-music-mp3-mad-gpl --enable-music-mp3=no 
关于为什么用libmad 请参见http://blog.chinaunix.net/u3/105675/showart_2096192.html 
注意安装时,请用LINUX下的系统->管理->声卡检测来是否正常.
SDL-net库安装

  下载http://www.libsdl.org/projects/SDL_net/release/SDL_net-1.2.7.tar.gz 
解压 tar xvzf SDL_net-1.2.7.tar.gz 
 cd SDL_net-1.2.7

生成makefile ./configure 
编译,安装 make & make install

SDL-gfx库安装

主页 : http://www.ferzkopp.net/Software/SDL_gfx-2.0/

  下载http://www.ferzkopp.net/Software/SDL_gfx-2.0/SDL_gfx-2.0.20.tar.gz 
解压 tar xvzf SDL_gfx-2.0.20.tar.gz

 cd SDL_gfx-2.0.20
生成makefile ./configure 
编译,安装 make & make install