SDL学习笔记(1)——SDL的配置

我前段时间学习了SDL,并使用SDL写了几个小应用和一个很简单小游戏,由于前段时间我事务比较繁忙,没有做任何学习笔记以及开发经验的总结等。后来觉得网上关于SDL的资源比较少,所以我决定等以后有时间把自己的学习和开发过程补一下,也就是现在。在介绍如何用VS配置SDL2.0之前,我先简单介绍一下SDL


SDL介绍

SDL简介

SDL(Simple DirectMedia Layer)是一套开放源代码的跨平台多媒体开发库,使用C语言写成。SDL提供了数种控制图像、声音、输出入的函数,让开发者只要用相同或是相似的代码就可以开发出跨多个平台(Linux、Windows、Mac OS X等)的应用软件。因此SDL被广泛的用于许多著名的游戏,其中最著的名游戏为Civilization: Call To Power

SDL功能

·视频
·事件
·音频
·CD音频
·线程
·定时器
·字节序无关

支持系统

·Linux
·Win32、Win64
·BeOS

其它

SDL内置了调用OpenGL的函数。
通过使用SDL_image、SDL_ttf、SDL_mixer、SDL_net等外部扩展库,可以轻松实现JPG、PNG、TIFF图像的加载使用,TrueType字体的使用,MP3文件的使用、网络相关的使用等。
SDL也有其他语言的包装,可以在这里查看 SDL用C语言写成,但是可以很容易在C++下面工作,并且SDL绑定了许多其它的语言,这其中就包括Ada, C#, Eiffel, Erlang, Euphoria, Guile, Haskell, Java, Lisp, Lua, ML, Objective C, Pascal, Perl, PHP, Pike, Pliant, Python, Ruby, and Smalltalk。


SDL配置

准备工作

  • Visual Studio(2005,2008,2010,2013都可以,这里我用2010做配置步骤的展示)
  • SDL压缩文件(最基本的压缩文件SDL2-devel-2.0.3-VC.zip,其他的根据需要进行配置,配置过程是一样的。这里我使用SDL2-2.0.3.zip提供的样例进行配置结果的检验)

如果没有Visual Studio可以去官网下载https://www.visualstudio.com/en-us/downloads/download-visual-studio-vs.aspx
这里写图片描述

这里写图片描述

这里写图片描述



SDL同样也有其官网http://www.libsdl.org/download-2.0.php
这里写图片描述



准备工作做完之后就开始正式安装


步骤一:解压SDL压缩文件



解压SDL2-devel-2.0.3-VC.zip,并把SDL2-2.0.3.zip中的test文件夹加压到SDL2-2.03文件夹中
这里写图片描述


完成步骤一后SDL2-2.03文件夹中应该有这些文件
这里写图片描述

步骤二:打开Visual Studio,创建一个Win32控制台应用程序的空项目



新建一个项目:文件->新建->项目
这里写图片描述


新建Win32控制台应用程序:勾选“为解决方案创建目录”
这里写图片描述


点击下一步
这里写图片描述


选中“控制台应用程序”和“空项目”,点击“完成”
这里写图片描述

步骤三:添加现有项以便测试配置的正确性



右击源文件,添加->现有项
这里写图片描述
选择一个测试文件(建议和我使用同一个,很多测试文件运行需要包含另外的SDL库)


这里写图片描述

步骤四:在项目属性中添加路径



项目->属性
这里写图片描述


VC++目录->包含目录:..\SDL2-2.0.3\include;$(IncludePath)
这里写图片描述


链接器->常规->附加库目录:..\SDL2-2.0.3\lib\x86;%(AdditionalLibraryDIrectories)
这里写图片描述


链接器->输入->附加依赖项:SDL2.lib;SDL2main.lib;SDL2test.lib;%(AdditionalDependencies)
这里写图片描述
这里写图片描述


点击<编辑>,再点击“确定”
这里写图片描述
这里写图片描述


顺序点击应用和确定,然后进入下一步骤

步骤五:生成Demo,如果成功则可以看到“生成成功”字样



点击生成->生成Demo(U)
这里写图片描述


如果配置成功则会在左下角位置显示生成成功,如果显示生成失败,基本是修改属性时输入失误
这里写图片描述

步骤六:将 SDL2-2.0.3 -> lib -> x86 文件夹中的dll文件和SDL2-2.0.3 -> test 文件夹中的bmp文件复制到SDLDemo -> Debug 文件夹中



将../SDL2-2.0.3/lib/x86/目录下的所有dll文件考入../Demo/Debug/目录下
这里写图片描述


将../SDL2-2.0.3/test/目录下的所有bmp文件考入../Demo/Debug/目录下
这里写图片描述

步骤七:效果展示



点击../Demo/Debug/Demo.exe文件
或直接在Visual Studio环境中执行
这里写图片描述





SDL还有很多其他的库,如SDL2_ttf,SDL2_image等,这些资源都可以在网上找到,配置方法都是一样的。另外使用SDL开发应用经常需要使用多线程机制,多线程文件的配置也是一样的
这里写图片描述


我在开发的过程中用到的所有库:
这里写图片描述


使用SDL2_ttf时需要另外下载一个.ttf文件,并将其放在../Demo/Demo目录下(这个是默认路径,其他位置也可,不过在程序中引用时要给出其相对或绝对路径)
这里写图片描述


我的部分开发


Watch

这里写图片描述

T9Keyboard

这里写图片描述

Game

这里写图片描述


我会在以后不断跟进关于SDL的文章,详细地展示自己的学习成果,希望对SDL有兴趣的读者可以关注我