本文操作按照《c&c++开源库编译指南》中内容规范编写,编译环境配置、工具下载、目录规划,及更多其他开源库编译方法请参考该文章。
c&c++开源库编译指南:https://blog.youkuaiyun.com/binary0006/article/details/144086155
本文章中的源代码已提交到gitee仓库,地址:https://gitee.com/binary0010/depends/tree/master/c/tiff-4.0.10
1.libtiff编译
1.1.源代码下载
源代码下载地址:http://download.osgeo.org/libtiff/,比较新的版本不支持vs2008编译,这里选择一个比较早的版本4.0.10,点击下图所示链接直接下载即可。

也可以自己复制这个地址下载:http://download.osgeo.org/libtiff/tiff-4.0.10.tar.gz
1.2.libtiff库的CMake结构
先解压源代码到指定目录,libtiff已经提供了CMakeList.txt脚本,按照之前文章中编译规范操作之前,我们先分析一下libtiff的CMake脚本结构。

观察源代码根目录下的CMakeList.txt脚本,可以看出libtiff有很多可选的依赖库(在前面的文章中,已经编译过zlib和tiff,有需要编译的同学可以去我的主页查找)。另外libtiff的工程由多个子目录构成,实际上就是vs中一个解决方案有多个子项目(下面截图中,注释掉了实际开发中不需要的工程)。

1.3.windwos编译
1.3.1.增加查找zlib和tiff脚本
zlib和tiff的在之前的文章中已经编译了,还没有编译的同学可以去看看之前的编译文章,CMake本身自带了zlib和tiff的查找脚本,由于我们的编译脚本按照我们自己个规范来处理的,所以查找zlib和tiff的脚本也需要按照我们的规范来编写。
相关的公共脚本已提交到:https://gitee.com/binary0010/depends/tree/master/cmake
1.3.2.修改CMakeList脚本
libtiff按照我们设计的编译规范需要修改两个CMakeList.txt脚本文件,路径分别是c/tiff-4.0.10/CMakeLists.txt和c/tiff-4.0.10/libtiff/CMakeLists.txt。
脚本涉及的内容主要是使用自定义的FindZLIB.cmake和FindJPEG.cmake脚本来查找依赖库,以及mt工程的链接库设置。由于脚本内容太多,这里就不粘贴全部代码,仅截图展示修改部分的内容,完整的编译脚本,可以直接从文章开头的gitee仓库获取。

最低0.47元/天 解锁文章
2404

被折叠的 条评论
为什么被折叠?



