最近想搞一下SDL,于是查了一下经典书籍,有一本叫做Focus On SDL
感觉写的很清楚,于是想跟他做一下实验,但是发现他使用的SDL的版本是1.*的,而下载官网上的都是2.*的,有一些函数,两个之间并兼容,查了很多地方也没有找到1.2版本的SDL.dll,于是只能从源码上进行编译了。
准备工作
vc++ 2010(或者更高版本)地址
SDL1.2*的源码:地址
DirectX SDK: 地址
我编译完成版本(闲配置环境太麻烦的可以选择现在这个):地址
安装工作
第一步:vc++ 2010的安装,具体步骤一直默认就行
第二步:将下载的源码包进行解压
第三步:进入文件夹中,将VisualC7.zip进行解压
第四步:将SDL.sln利用visual c++ 2010打开(或者更高版本)
第五步:安装DirectX SDK
安装提示进行安装,在安装过程中可能会出现,
在这里,可以参考此为博主的帖子:地址
这里需要注意一点,关于Microsoft Visual C++ 2010 x86 Redistributable - 1010.0.40219,还可能存在一个x64的版本,这个在安装之前也需要进行卸载,然后重启安装程序进行安装。
安装成功后,会在程序控制中发现这两个软件:
安装之后,SDK存在于:C:\Program Files (x86)\Microsoft DirectX SDK (June 2010)
这样,DirectX SDK就安装成功了。
第六步:将afxres.h和winresrc.h文件拷贝到vc++2010的安装目录下
afxres.h的下载地址:地址
而对于winresrc.h的获取,可以通过下载windows SDK安装包进行获取
获取安装包:地址
然后进行安装,在安装目录下就可以找到需要的头文件:
第七步:配置SDL的工程选项
配置dxguid.lib的路径
然后就可以对SDL工程进行编译
会在Debug的目录下生成我们所需要的SDL.dll文件
对于SDLMain工程,可以直接进行编译不需要进行其它配置,会在Debug目录下生成 SDLMain.lib文件
END
到这里,我们所需要的SDL.dll和SDLMain.lib(不是必须的)都已经生成完毕,这也是踩了一天的坑才弄完的,如果对你有帮助的话,还希望能够关注,点赞一下子,谢谢。