认识SDL

在我们初步学习了编程语言的知识过后,发现我们并不能控制图像,声音,键盘和手柄这些硬件。这是因为我们没有学习该语言调用这些硬件的API接口。

这就是SDL能够提供的, SDL目前支持Windows/Linux/Mac/Android/iOS等等平台, 但是使用SDL前,我们需要在平台上安装对应平台的SDL库。

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/path/to/your/libSDL2.so

由于译者使用的是ubuntu, 所以可以比较简单的使用 apt 下载官方维护的 SDL环境。

sudo apt-get install libsdl2-*

安装了:

libsdl2-2.0-0        libsdl2-gfx-doc      libsdl2-net-2.0-0
libsdl2-dev          libsdl2-image-2.0-0  libsdl2-net-dev
libsdl2-doc          libsdl2-image-dev    libsdl2-ttf-2.0-0
libsdl2-gfx-1.0-0    libsdl2-mixer-2.0-0  libsdl2-ttf-dev
libsdl2-gfx-dev      libsdl2-mixer-dev
库名简介下载路径备注
libsdl2基础库github
libsdl2-gfx图形支持包github可选
libsdl2-imagepng、jpg等图片的支持包github
libsdl2-mixer多声道混音器github
libsdl2-net网络支持包github
libsdl2-ttf字体加载器github | gitee

其他的linux版本如果没有编译好的环境,大家可以通过 官网github 下载编译库, 。

下载源码后,在项目目录下使用下面的命令编译。

./configure
make all
make install

SDL通过库链接的方式供大家调用, 库的内容包含头文件(*.h),还有库文件(静态库 *.a, 动态库 *.so)文件。

在编译应用程序的时候,需要让编译器知道包含了 SDL_Init 这类 SDL 函数接口的 头文件的路径. Linux 上,你可以配置 c 语言(C_INCLUDE_PATH), c++语言(CPLUS_INCLUDE_PATH)。也可以通过对应的编译工具提供的配置来设置头文件查找路径。

export C_INCLUDE_PATH=$C_INCLUDE_PATH:/path/to/your/SDL2.h
export CPLUS_INCLUDE_PATH=$CPLUS_INCLUDE_PATH:/path/to/your/SDL2.h

在链接过程中,我们需要让编译器知道 库文件的路径。可以通过设置 LD_LIBRARY_PATH 全局变量来设置,当然也可以根据你的项目管理工具来管理。

如果有什么错误,请大家指出,谢谢!

注:笔者是linux系统的支持者,使用的环境是ubuntu20.04, 可能内容转译更加切合linux开发者。


参考

Logo

更多推荐