SDL库及SDL_draw库的安装、SDL库的使用
(1)SDL基本库的安装
在Ubuntu下使用apt-get安装,由于我在安装过程中出现的错误,要注意一定要在联网的情况下进行安装。分别安装libsdl1.2-dev、libsdl-image1.2-dev、libsdl-mixer1.2-dev、libsdl-ttf2.0-dev、libsdl-gfx1.2-dev。安装完成以后就会生成一个目录,在目录/usr/include下可以使用ls命令查看SDL文件夹中的内容,里面包含了所需要的头文件。
图1-1 安装完SDL库以后查看SDL文件夹
【注意】
如果在命令行的情况下无法完成安装,可以到SDL库的网站上去下载SDL库及附加库的源代码压缩包,解压后编译安装。并且用管理员账户依次执行以下命令即可:
# ./configure
# make
# make install
(2)SDL库的使用
1)头文件
在编写程序的时候需要加上SDK库的头文件,需要包含头文件SDL.h,命令为:
# include “SDL.h”
如果使用SDL库的附加库,还需要包含相应的头文件,例如我所添加的SDL_ttf.h,,而且附加库必须是在SDL头文件添加的基础上再写,否则就会报错。
2)编译命令
图1-2-1 编译hello.c文件
图1-2-2 hello.c文件
图1-2-3 另一种编译方式
如果程序中使用了图像库、混音库或字体库,在编译的时候还需要加上相应的编译参数,包括lSDL_image、-lSDL_mixer、-lSDL_ttf,这三个参数分别表示图像库、混音库和字体库。
gcc编译命令中的-I、-L、-l个选项的含义说明如下:
1)-I:表示添加头文件搜索的目录
2)-L:表示添加库文件搜索的目录
3)-l:表示在库文件目录中寻找指定的动态库文件
【分析】
从图1-2-3来看,其命令说明如下:
1)-I /home/hello/include,表明在编译hello.c时,指定/home/hello/include作为第一个头文件的寻找目录。头文件的寻找顺序为/home/hello/include、/usr/include、/usr/local/include。
2)-L /home/hello/lib,表明在编译hello.c时,指定/home/hello/lib作为第一个库文件的寻找目录。库文件的寻找顺序为/home/hello/lib、/lib、/usr/lib、/usr/local/lib。
(3)makefile文件
上述编译命令可以写成文件形式,往常我们的编译指令十分简单,但是对于本次实验中的编译指令来说,不仅长,参数多,而且比较重复,所以可以写成makefile文件,然后运行make命令。图1-2-1的指令行写成makefile文件如下:
图1-3-1 makefile文件
图1-3-2 执行make命令,编译程序并执行
编写makefile文件可使用该模板,根据程序的名称和实际需要修改即可。这个makefile文件中相关变量的含义说明如下:
1)CC:编译器的名称,指定为CC,即gcc的代名词。
2)AR:库文件维护程序的名称,默认值为ar。
3)CFLAGS:编译器的选项,设置为-I/usr/include/SDL -lSDL -lpthread,如果需要应用其他库再根据需要添加。
4)
$^
所有不重复的以来条件,以空格分开。
5)
$@
目标文件的完整名称。