QGIS在windows下的编译

1 工具

OSGeo4W、Cmake 、GNU bison 与 GNU flex

2 配置开发环境

2.1 VS2010安装

……

2.2 Qt与插件安装

Qt版本4.8.5,插件版本1.1.11。
下载地址: http://download.qt.io/official_releases/vsaddin/

2.3 OSGeo4W安装及所需库下载

编译32位的QGIS时,下载安装32位的OSGeo4W;编译64位QGIS时,下载安装64位的OSGeo4W。因为使用不同版本的OSGeo4W时,下载的库是对应版本的库。

2.4 Cmake安装

Cmake需要2.8以上版本,可直接从https://cmake.org/download/,解压即可。

2.5 GNU bison 与 GNU flex 安装

bison和flex要用较新的版本,且安装目录不能用空格。

2.6 下载QGIS2.8.9源码

3 使用Cmake配置工程

3.1 配置环境变量

写一个脚本文件,设置 OSGeo4W等变量(将OSGEO4W、Bison、Flex、Cmake设置为自己的路径)。

@echo off

set LIB=%LIB%;C:/Program Files (x86)/Microsoft SDKs/Windows/v7.0A/Lib/x64

set OSGEO4W_ROOT=D:/OSGeo4W
call "%OSGEO4W_ROOT%/bin/o4w_env.bat"
path %PATH%;D:/win_flex_bison-latest;D:/cmake-2.8.12-win32-x86/bin


@set INCLUDE=%INCLUDE%;%OSGEO4W_ROOT%/include
@set LIB=%LIB%;%OSGEO4W_ROOT%/lib;%OSGEO4W_ROOT%/lib

@cmd

3.2 配置工程并编译

  1. 运行脚本文件,并从命令行启动Cmake
    这里写图片描述
  2. 选择源代码目录和输出目录,点击Configure。将没有找到的路径手工设置,修改自动设置出错的路径。
    这里写图片描述
    注意: QextSerialPort 需要自己编译,参照http://www.tuicool.com/articles/naEjAzf
  3. 点击generate生成VS2010工程。
  4. 编译之前,还需要做如下修改:

    1. 将Bison和Flex目录下的unistd.h复制到Microsoft Visual Studio 10.0安装目录下的\VC\include”目录中。
    2. 复制OSGeo4W目录下include\spatialite.h替换OSGeo4W目录下include\spatialite\spatialite.h。
    3. 修改QGIS源码src/core/pal/feature.cpp文件第85行finite为_finite。修改前:assert( finite( lx ) && finite( ly ) );修改后 assert( _finite( lx ) && _finite( ly ) )
  5. 打开Cmake输出目录下的qgis2.8.9.sln。可以全部编译,也可以只编译部分重要的qgis、qgis_analysis、qgis_core、qgis_gui、ui、ogrprovider、gdalprovider。

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值