前面构建的zlib、libpng、libjpeg和libtiff都提供了CMakeList.txt文件,因此都可以通过CMake进行构建。不过有的依靠库是并没有CMakeList.txt文件,也就是官方没有提供CMake的构建方式,例如本篇要说的GIFLIB。GIFLIB是一个开源的C库,用于处理GIF(图形交换格式)图像文件。
GIFLIB是个典型的基于Linux情况的开源库,使用Makefile组织项目设置文件,在Linux情况中通过make工具进行构建。那么在Windows下如何进行构建呢?此中一个方案是安装MSYS2(Minimal SYStem 2),它是一个基于Windows的类Unix shell情况,能够提供一个包罗make工具的跨平台GNU工具链,被称为MinGW(Minimalist GNU for Windows)。不过这种方案很麻烦,最关键的是Windows下MinGW编译的库和MSVC编译的动态库大概存在二进制兼容的问题。
另外一种方案是,假如库的代码量并不大,可以本身组织CMakeList.txt文件进行编译,这里笔者在网上找到了某个大神组织的GIFLIB项目的CMakeList.txt文件:
# 输出cmake版本提示
message(STATUS "The CMAKE_VERSION is ${CMAKE_VERSION}.")