QGIS2.3+VS2010+Win7编译

QGIS2.3+VS2010+Win7编译


发布日期: 2015-07-20 更新日期: 2015-07-20 编辑:bukun 浏览次数: 5252

标签:

摘要: 下载方法 1、下载CMake 2.8 (http://www.cmake.org/),安装到指定路径,例如:C:\GNU\CMake2.8,在环境变量PATH中添加C:\GNU\CMake2.8\bin。 2、下QGIS2.3.0官方推荐采用VS2008进行编...

下载方法

1、下载CMake 2.8 (http://www.cmake.org/),安装到指定路径,例如:C:\GNU\CMake2.8,在环境变量PATH中添加C:\GNU\CMake2.8\bin。

2、下QGIS2.3.0官方推荐采用VS2008进行编译,GUI使用Qt4.7.1-VS2008,脚本使用Python2.7.4。QGIS插件包括CPP插件和Python插件两种,使用Qt4加载CPP插件,使用Python2加载Python插件,有些Python插件(例如processing插件)依赖于PyQt4,PyQt4依赖于Qt4-VS2008。QGIS的有些依赖库(例如Qwt5)依赖于Qt4-VS2008。

若采用VS2010直接进行编译,在调用QGIS的过程中会出现兼容性错误,例如加载processing插件时引起异常中断错误,导致程序崩溃。

安装Qt4.8.5-VS2010之后,采用VS2010进行编译,在调用QGIS的过程中依然出现兼容性错误,例如加载Qwt5依赖库时引起异常中断错误,导致程序崩溃。

因此,采用VS2010进行编译之前,需要将Qt4-VS2008更新为Qt4-VS2010版本,包括所有使用了Qt4-VS2008的插件和依赖库。

安装方法

1、安装CMake 2.8

(1)下载地址:

(2)安装路径:自定义,例如:C:\GNU\CMake2.8

2、安装GNUWin32 flex 2.5和bison 2.4

(1)下载地址:和.../bison.htm

(2)安装路径:自定义,例如:C:\GNU\GnuWin32

说明:Flex/Bison常用安装程序有两种:GnuWin32 Flex 2.5/Bison 2.4和Win flex-bison 2.5 (),推荐安装GnuWin32Flex 2.5/Bison 2.4。

3、下载QGIS 2.3源代码

(1)下载地址:https://github.com/qgis/QGIS

(2)解压路径:自定义,例如:C:\qgis230-source\QGIS-master

说明:源代码压缩包中提供了安装说明(QGIS-master\doc\INSTALL.html)。

4、通过OSGeo4W Installer 32bit安装QGIS 2.3依赖库

(1)下载地址:https://trac.osgeo.org/osgeo4w/

(2)运行OSGeo4W,选择Advanced Install -> Install from Internet or Install from LocalDirectory –> Root Directory (Default: C:\OSGeo4W) -> Select Packages: qgis-full-dev。

(3)缺省QGIS 2.3开发包(qgis-full-dev)未安装Qwt5开发包(Qwt5-devel-qt4)和Spatialindex开发包(libspatialindex-devel),需要单独安装这两个开发包。

说明:QGIS依赖库头文件位于C:\OSGeo4W\include路径下,静态库文件位于C:\OSGeo4W\lib路径下,qmake.exe等工具位于C:\OSGeo4W\bin路径下,外部可执行程序包位于C:\OSGeo4W\apps路径下。

5、设置环境变量

(1)打开系统命令提示符,在控制台模式下设置环境变量中

(2)调用OSGeo4W\bin\o4w_env.bat批处理文件,将自动递归调用OSGeo4W \etc\ini*.bat批处理文件,设置OSGeo4W运行环境变量,例如:

call "C:\OSGeo4W\bin\o4w_env.bat"

其中用于CMake生成VS解决方案的变量包括:

OSGEO4W_ROOT=C:\OSGeo4W

PATH=%OSGEO4W_ROOT%\bin;%PATH%

PYTHONHOME=%OSGEO4W_ROOT%\apps\Python27

PATH=%OSGEO4W_ROOT%\apps\Python27\Scripts;%PATH%

说明:CMake使用PYTHONHOME查找SIP包所在路径。

(3)在环境变量INCLUDE和LIB中添加OSGeo4W依赖库头文件和静态库文件所在路径,或者在环境变量PATH中添加依赖库头文件和库文件所在路径。例如:

setINCLUDE=%OSGEO4W_ROOT%\include;%INCLUDE%

set LIB=%OSGEO4W_ROOT%\lib;%LIB%

(4)定义GRASS_PREFIX,例如:

setGRASS_PREFIX=c:/OSGeo4W/apps/grass/grass-6.4.3

(5)在环境变量PATH中添加添加GNUWin32 Flex/Bison可执行文件所在路径,例如;

set C:\GNU\GnuWin32\bin

(6)在环境变量PATH中添加CMake可执行文件所在路径,例如:

C:\GNU\CMake2.8\bin

(7)调用VS2010的\VC\vcvarsall.bat批处理文件,将自动递归调用VC\bin\vcvars32.bat和%VS100COMNTOOLS%vsvars32.bat批处理文件,例如:

call "C:\Program Files\MicrosoftVisual Studio 10.0\VC\vcvarsall.bat" x86 或

call "C:\Program Files (x86)\MicrosoftVisual Studio 10.0\VC\vcvarsall.bat" x86

其中用于CMake生成VS解决方案的变量包括:

VS90COMNTOOLS =C:\Program Files\MicrosoftVisual Studio 10.0\Common7\Tools\或

VS90COMNTOOLS =C:\Program Files (x86)\MicrosoftVisual Studio 10.0\Common7\Tools\

LIB=”C:\Program Files\MicrosoftSDKs\Windows\v7.0A\Lib; %LIB%;”或

LIB=”C:\Program Files (x86)\MicrosoftSDKs\Windows\v7.0A\Lib; %LIB%;”

说明:CMake需要在环境变量PATH或LIB中查找Microsoft SDKs 的SetupAPI.Lib,找到后定义SETUPAPI_LIBRARY变量。

6、复制GNUWin32 Flex/Bison的unistd.h头文件

关注公众号
获取免费资源

随机推荐


Copyright © Since 2014. 开源地理空间基金会中文分会 吉ICP备05002032号

Powered by TorCMS

OSGeo 中国中心 邮件列表

问题讨论 : 要订阅或者退订列表,请点击 订阅

发言 : 请写信给: osgeo-china@lists.osgeo.org