QGis 是一个非常好的跨平台开源地理信息系统,可运行在inux,Unix,MacOSX, 和Windows 平台之上。QGIS 以系统庞大和结构复杂而著称,用到了众多的第三方库,要在win 平台下编译它需要费点周折。虽然网络上关于如何在windows 上编译QGis 的文档也不少,但总不够详细和全面,下面把我编译时的一些步骤记录下来,总结如下:
首先说一下编译环境:windows xp , vs2008
1. 下载并安装Flex , Bison , Expat (expat-win32bin-2.0.1.exe )。下载地址如下,安装时路径不要有空格。
flex 是个扫描器, bison 是分析器。一般都是两个配合使用,例如写一个语法分析器。是yacc 和 lex 的增强开源版本。QGIS 中的字符串解析中用到这两个库。
http://gnuwin32.sourceforge.net/packages.html (GnuWin Packages )
http://gnuwin32.sourceforge.net/packages/flex.htm
http://gnuwin32.sourceforge.net/packages/bison.php
http://sourceforge.net/project/show fi les.php?group_id=10127
2. 下载并安装Qt(qt-win-opensource-4.6.2-vs2008.exe) 。
http://qt.nokia.com/downloads/windows-cpp-vs2008
安装程序会自动配置好相关参数(随后可以在CMake 中看到,相关路径已经设置好)
3. 下载并安装Proj.4 、GEOS 、GDAL 。
以上几个可以选择自己编译,网上很容易找到编译方法。比较简单的方法是从OSGeo 网站下载编译好的直接使用。
右侧的列表可以找到这几个软件,点击连接下载。
4. 下载GSL, GSL 是一个用于数学计算的类库。可以选择下载代码自己编译,最简单的是下载编译好的类库。代码和类库在下载页面里都有
http://gnuwin32.sourceforge.net/packages/gsl.htm
5. 安装CMake 并生成QGIS 的sln 文件,CMAKE 是什么就不用说了吧。
http://www.cmake.org/HTML/Download.html
5.1 启动CMake ,并设置好相关参数
5.2 点击configure 按钮,并根据提示修改相关参数。这一步非常麻烦,就是要指定编译过程中用到的所有第三方库的头文件路径以及lib 库路径,一定注意相关的警告,并修改相关参数,否则或影响随后的编译。要有耐心~~
5.3 配置完成之后,点击Generate 按钮生成sln 等文件。然后用VS2008 打开, 就可以看到QGIS 的解决方案了。解决方案中项目很多,大部分是用不到的,QGIS 的核心项目是qgis_core 、ui 、qgis_gui 、qgis ,依次编译这几个项目。其他的如果有个别工程编译失败,可以卸载的这个工程,并不影响整个程序,也可以不编译其他。
6. 将生成的dll 复制到和QGis.exe 的同级目录中,运行QGis ,大功告成。