SDL2_image 静态编译教程
- W_Z_C
- 共 793 字,阅读约 2 分钟
SDL2_image 是图像文件加载库。它将图像加载为 SDL 表面和纹理,并支持以下格式:BMP,GIF,JPEG,LBM,PCX,PNG,PNM,SVG,TGA,TIFF,WEBP,XCF,XPM,XV 。SDL_image 官方默认提供的都是动态库,而本教程主要介绍在 Windows 平台下如何静态编译 SDL_image 库。
因为 SDL_image 依赖其它的第三方库,包括 zlib、libjpeg、libpng、libtiff、libwebp 以及 SDL2 ,这些库都必须提供静态编译版本,并且在开始编译前请确认你的机器上以及安装了最新版的 Visual Studio 。
首先去官方网站,下载源码包,当前最新的版本为 2.0.5。
因为 SDL2_image 源码默认提供的是动态编译的版本,并且没有相关的 CMake 文件,所以只能手动新建静态库工程,然后把源码加入编译。
首先,创建一个新的静态编译工程,打开 Visual Studio。
选择右下角的创建新项目。
选择 Windows 桌面向导,点击下一步。
输入项目名称以及项目的位置,点击创建按钮。
在弹出的对话框中,选择静态库,并勾选空项目,点击确认。
复制 SDL2_image 官方源码加入到咱们新建的静态工程中:
接着配置工程属性。选择工程右键打开属性面板,在 C/C++ 常规 面板下,添加附加包含目录,包括所以依赖的第三方库的头文件:
点击确定后,修改移除 SDL 检查 选项:
在 预处理器 面板下,添加预处理器定义:
LOAD_BMP
LOAD_GIF
LOAD_JPG
LOAD_LBM
LOAD_PCX
LOAD_PNG
LOAD_PNM
LOAD_SVG
LOAD_TGA
LOAD_TIF
LOAD_WEBP
LOAD_XPM
LOAD_XV
添加预处理界面:
设置完毕,就可以编译 SDL2_image 静态库了。按照 Debug/Release 和 /MT 以及 /MD 之分,至少可以组合四种配置,所以我们分别选择不同的配置属性,生成最后的四种库文件,并将它们放到不同的目录下。具体的配置方法可以查看 运行时库详解 这篇文章,每次修改配置都编译一次工程,编译成功后,将生成的结果放到一开始设定的目录下,最后的目录结构如下:
---
|--- include //放头文件
|--- lib
|--- Debug
| |--- MDd
| | |-- SDL2_image.lib
| |
| |--- MTd
| |-- SDL2_image.lib
|
|--- Release
|--- MD
| |-- SDL2_image.lib
|
|--- MT
|-- SDL2_image.lib
为了方便这里我打包了最后的结果,方便大家直接使用,不过这里只有 x64 版本,如果你的机器还是 32 位系统则无法使用。SDL2_image 静态库下载