1、QGIS简介

QGIS(原称Quantum GIS)是一个自由软件的桌面GIS软件。它提供数据的显示、编辑和分析功能。QGIS是一个用户界面友好的桌面地理信息系统,可运行在Linux、Unix、Mac OSX和Windows等平台之上。QGIS是基于Qt,使用C++开发的一个用户界面友好、跨平台的开源版桌面地理信息系统。QGIS源码采用 GNU General Public License协议对外发布。

2、QGIS源码获取

QGIS官网下载页面连接:https://qgis.org/en/site/forusers/download.html
QGIS所有版本的下载连接:https://qgis.org/downloads/
百度搜索QGIS,然后根据具体的反馈结果,进行进一步的选择下载

3、工具准备

  1. 编译工具:Visual Studio 2010
  2. 工程生成工具:CMake
  3. QGIS编译依赖的下载工具:Cygwin、OSGeo4W。Cygwin主要用于下载:Flex、Bison;OSGeo4W主要用于下载QGis的依赖库:GDAL、PROJ、Spatialite、iconv、expat、spatialindex等;至于Qt库,直接使用自己电脑中已经安装的版本就可以,没有必要再通过OSGeo4W下载。

4、QGIS编译前准备工作

1、使用Cygwin下载Flex、Bison
第1节 QGIS源码获取和编译(QGIS2.2)_第1张图片
第1节 QGIS源码获取和编译(QGIS2.2)_第2张图片
第1节 QGIS源码获取和编译(QGIS2.2)_第3张图片
第1节 QGIS源码获取和编译(QGIS2.2)_第4张图片
第1节 QGIS源码获取和编译(QGIS2.2)_第5张图片
注意:Flex、Bison的下载方式相同,由于网络的原因可能需要重复多次以上过程才能将Flex、Bison下载完成。
2、使用OSGeo4W下载QGIS依赖库
第1节 QGIS源码获取和编译(QGIS2.2)_第6张图片
第1节 QGIS源码获取和编译(QGIS2.2)_第7张图片
第1节 QGIS源码获取和编译(QGIS2.2)_第8张图片
第1节 QGIS源码获取和编译(QGIS2.2)_第9张图片
第1节 QGIS源码获取和编译(QGIS2.2)_第10张图片
第1节 QGIS源码获取和编译(QGIS2.2)_第11张图片
注意:使用OSGeo4W下载gdal、expat、iconv、spatialite、libspatialindex等依赖库的操作和Cygwin基本一致,在CMake生成工程的过程,可以根据需要进行选择下载相应的缺少依赖项。由于网络缓慢的很,可能需要一个漫长的下载过程甚至重复下载多次。

5、生成工程文件编译源码

1、CMake生成工程文件
第1节 QGIS源码获取和编译(QGIS2.2)_第12张图片
2、Visual Studio打开工程文件编译源码

第1节 QGIS源码获取和编译(QGIS2.2)_第13张图片
第1节 QGIS源码获取和编译(QGIS2.2)_第14张图片
注意:在生成的过程中可能会出现一些警告信息可以忽略,如有失败可以根据遇到的具体情况进行相应的调整,笔者实验中中虽然重复生成几次总是有一个工程显示生成失败,但是在单独编译该工程的时候可以生成成功。
3、生成QGIS二次开发结果
第1节 QGIS源码获取和编译(QGIS2.2)_第15张图片
第1节 QGIS源码获取和编译(QGIS2.2)_第16张图片
第1节 QGIS源码获取和编译(QGIS2.2)_第17张图片

6、QGIS2.2的二次开发环境提供

笔者在自己的下载页面中提供了QGIS2.2二次开发环境完整编译包(32位环境,基于Qt4.8.6)。如果读者想要自己练习一下QGIS的二次开发环境搭建过程,笔者同样在自己下载页面中准备好了,Cygwin、OSGeo4W已经下载完成依赖软件包(省去了读者自己联网下载的漫长等待了)、QGIS2.2源码,以方便读者自行练习整个过程。当然读者也可以自行从网络完成整个过程,那样也会理解记忆的更加深刻。
如果读者在学习过程中发现笔者整理的资料有任何错误或者不当之处,欢迎联系笔者或者留言进行反馈哦!