QGIS Win7 64位 编译

 由于原来的QGIS版本太老加上不能调试。所以需要编译新的版本。第一次编译遇到的问题不少。下面记录下编译过程

一、参考

参考网页:

Afai:

http://blog.csdn.net/sircarfield/article/details/25534701

李民录:

http://blog.csdn.net/liminlu0314/article/details/17400075

唐小曼:

http://www.mancoding.com

官方帮助:

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.工具下载安装

名称  地址
CMake http://www.cmake.org/files/v2.8/cmake-2.8.12.2-win32-x86.exe
Flex http://gnuwin32.sourceforge.net/downlinks/flex.php
Bison http://gnuwin32.sourceforge.net/downlinks/bison.php
OSGeo4W(64位)  http://download.osgeo.org/osgeo4w/osgeo4w-setup-x86_64.exe 

这些软件安装都不能有空格和中文。

其中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”

编译项目。应该就没问题了

posted on 2014-10-14 11:20  记忆悔中行  阅读(2199)  评论(0编辑  收藏  举报

导航