QGIS Win7 64位 编译
由于原来的QGIS版本太老加上不能调试。所以需要编译新的版本。第一次编译遇到的问题不少。下面记录下编译过程
一、参考
参考网页:
Afai:
http://blog.csdn.net/sircarfield/article/details/25534701
李民录:
http://blog.csdn.net/liminlu0314/article/details/17400075
唐小曼:
官方帮助:
http://htmlpreview.github.io/?https://raw.github.com/qgis/QGIS/master/doc/INSTALL.html
二、下载
1.QGIS安装程序下载
使用官方地址进行下载:
http://qgis.org/downloads/QGIS-OSGeo4W-2.4.0-1-Setup-x86_64.exe
下载后正常安装即可。
2.QGIS源码下载
官方最新地址为:
http://qgis.org/downloads/qgis-latest.tar.bz2
3.工具下载安装
这些软件安装都不能有空格和中文。
其中Flex和Bison是安装到同一个文件夹中的。以下是我安装后的目录结构。
安装时CMake可以将路径加到环境变量里面。Flex和Bison好像不会。将E:\GnuWin32\bin;加入环境变量
OSGeo4W用于下载相关的库。选择Advanced Install→Install from Internet设置根目录→设置本地目录我设置的都是OSGeo4W64。下载以下库
l expat
l fcgi
l gdal
l grass
l gsl-devel
l iconv
l pyqt4
l qt4-devel
l qwt5-devel-qt4
l sip
l spatialite
l libspatialindex-devel
l python-qscintilla
下载LibsDefault 有人讲grass下载Desktop Default 反正我都下了也不知道那个有用。
二、Cmake配置
新建一文件夹QGIS把之前下载好的源码解压到文件夹中。在建立一空文件夹,如Build用于存放编译的文件。
官网讲要设置一个bat文件。没看懂没有写。
找到cmake-gui.exe运行
设置第一个为源文件路径第二个为Build文件夹
点击Configure弹出一个配置对话框。选择Visual Studio 10
点击Fish开始配置。会出现一堆错误。首先展开WITH设置成以下。
查看下面输出窗口
提示缺少GEOS的相关配置。展开相应选项。设置头文件文件夹和lib文件夹。点击Configure。
同样会报错依次配置出错的文件。最终配置如下图所示
全部配置完后局可以生成工程了。点击“Generate”生成工程。以下是我生成后的工程目录
三、vs2010编译
在编译前先完成以下工作
在“E:\GnuWin32\include”目录下复制“unistd.h”到"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include"目录下
复制“E:\OSGeo4W64\include\spatialite.h”替换“E:\OSGeo4W64\include\spatialite\spatialite.h”
打开“qgis2.4.0.sln”解决方案会加载166个工程。设置qgis为启动工程
查看解决方案属性设置依赖项。这个参照李民录博文里的。另外“ZERO-CHECK”工程是系统默认的不能取消。点击“配置管理器”在“活动解决方案平台”下拉框中新建。选择“x64”确定
名称 |
说明 |
qgis |
QGIS可执行程序 |
qgis_analysis |
依赖项 |
qgis_core |
依赖项,QGIS核心库 |
qgis_gui |
依赖项,QGIS界面库 |
ui |
QGIS所有的界面 |
gdalprovider |
读取栅格数据驱动 |
ogrprovider |
读取矢量数据驱动 |
设置模式为"RelWithDebInfo"设置项目中“链接器→命令行→其他项”删除“ /machine:X86”
编译项目。应该就没问题了