首页/文章/ 详情

Windows 10下编译安装QGIS

2年前浏览3332

济南友泉软件有限公司 

QGIS是一套跨平台的开源GIS(Geographic Information System)软件。

对于Windows下编译QGIS,QGIS社区提供了Cygwin与MinGW等两种方法,本文详述采用Cygwin在Windows 10编译安装QGIS的操作流程。

注1:随系统环境不同,QGIS编译方法可能略有不同。

注2:限于笔者认知水平与研究深度,难免有不当之处,敬请谅解。

零、系统环境

  • 操作系统:Windows 10

  • 编译器:Visutal Studio Community 2019

  • Make:CMake 3.15.0Git: Git 2.9.3.2 64 bit

 一、获取代码

在”D:\YouQuan\CaeFrameworks\QGIS”下创建如下目录,

 image.png 

 从GitHub下载代码 ,

 image.png

二、安装依赖

2.1 Cygwin安装依赖包

首先下载安装Cygwin,选择下载临时目录为”C:\Users\Administrator\AppData\Local\Temp”

image.png 

然后安装一下依赖包

 image.png

2.2 OSGeo4W安装依赖包

首先下载安装OSGeo4W。由于武汉大学等国内镜像源提供的依赖包版本滞后,因此此处仍旧使用国外镜像源。

镜像源依赖包版本

OSGeo Download Server


qgis-dev-deps 3.23.0-178-9ae9d40d14-1

Open Source Labqgis-dev-deps 3.23.0-178-9ae9d40d14-1
www.norbit.deqgis-dev-deps 3.23.0-178-9ae9d40d14-1
武汉大学镜像3.13.0-1

image.png

下载安装以下依赖包 

依赖包版本说明
ninja
1.7.2

下载ninja-win.zip,解压得到ninja.exe。

 把ninja.exe拷贝到C:\OSGeo4W\bin\

qgis-dev-deps3.23.0-178-9ae9d40d14-1

注意:由于网络状状态不稳定,OSGeo4w可能不能下载全部的依赖包,导致部分依赖包丢失,可以重复几次下载即可。

 三、构建项目

为了配置编译环境,需要设置OSGeo4W、python、Qt等相关环境变量。

 新建“C:\OSGeo4W\bin\py3_env.bat”,添加以下内容, image.png

 新建“C:\OSGeo4W\bin\qt5_env.bat”,添加以下内容, image.png

新建“C:\OSGeo4W\bin\qt5.conf”,添加以下内容, image.png


 新建“D:\YouQuan\CaeFrameworks\QGIS\qgis-dev.bat”,添加以下内容, image.png然后在命令行中中启动CMake,

 image.png

按照下表配置CMake,

 image.png

然后构建并生成VS项目qgis.sln。 image.png

四、编译安装

CMake构建成功之后,直接在CMake中打开qgis.sln,切换到”Release”配置模式,构建“ALL_BUILD”项目,完成QGIS的编译;构建“INSTALL”项目完成QGIS的安装。

注意:由于目前OSG4W提供的qgis-dev-deps对于部分依赖包仅提供Release版本的库文件,可能会造成”Debug”配置模块编译报错。

设置”qgis”项目为启动项目,运行启动qgis,验证QGIS编译成功。

image.png 附录A:常见问题

Q1. CMake构建项目时,提示找不到”pyuic5”

 image.png

A1.修改”D:\YouQuan\CaeFrameworks\QGIS\QGIS\cmake\PyQtMacros.cmake”

 image.png

Q2. 编译QGIS时,访问QgsField::ConfigurationFlags::None等枚举类型报错。 image.png A2. 修改moc_qgsfields.cpp,

 image.png

网络资料

参考文献

孟庆祥. OpenGIS设计开发基础教程-基于QGIS PostGIS设计开发. 武汉大学出版社, 2018.

————————————————

科普更多行业其他专业其他软件
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2022-05-24
最近编辑:2年前
YouQuan Soft
硕士 济南友泉软件有限公司
获赞 30粉丝 7文章 12课程 0
点赞
收藏
未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习 福利任务 兑换礼品
下载APP
联系我们
帮助与反馈