当前位置:   article > 正文

VS2019 QGIS3.24.2源码编译详解_qgis源码解析

qgis源码解析

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

提示:这里可以添加本文要记录的大概内容:

QGIS作为一款开源的桌面GIS软件,其易用性、稳定性和可扩展性受到越来越多的技术人员和学者的好评与支持,并且基于社区的开发模式使QGIS的研发和迭代非常迅速。
目前,QGIS已经具有完整且稳定的桌面GIS功能,并且逐渐地在移动GIS、web GIS等方向进行扩展,可以与众多开源GIS软件和模块相互支持,形成工具链,并构成功能全面的GIS软件体系,在开源GIS中具有独特且完整的应用前景。
但是,市面上各个中英文平台、网络包括github官网作者所著的编译教程上较多呈现的是基于QGIS3.16版本或者QGIS3.20以下版本结合Visual Studio2015/2017平台编译的教程,鲜有QGIS3.20以上的版本结合VS2019平台编译的相关资料,例如3D等一些更新后的重要功能无法使用。本人综合各中英文网站,结合亲身编译经历,完成基于QGIS3.24.2及Visual Studio2019平台的编译。现将编译详细步骤及编译过程中所出现的问题及解决方法整理如下:

提示:以下是本篇文章正文内容,下面案例可供参考

一、源码下载

QGIS源码下载:https://github.com/qgis/QGIS/releases
本编译用的源码版本是QGIS 3.24.2最新版本
注意:目前QGIS官网能够直接下载的有两个长期稳定版本,一个是3.16版本,一个是3.22版本。
在这里插入图片描述
在这里插入图片描述

二、环境下载

1. 安装Visual Studio 2019

步骤1:安装Visual Studio 2019 Community
VS下载地址:https://visualstudio.microsoft.com/zh-hans/downloads/
步骤2:安装C++桌面端开发组件
在这里插入图片描述

注意:①勾选C++的桌面开发;
②建议使用Visual Studio2019或者Visual Studio2017,Visual Studio2015会出现内部错误
③勾选MSVC V141-VS2017 C++ X64/X86 生成工具

2. 其他依赖包及软件下载

1、工具软件
1)Cmake:主要用于编译,从官网直接下载即可,本编译用的3.22.3
Cmake下载地址:https://cmake.org/download/
2)Cygwin64:用于下载bison,flex软件
Cygwin64下载地址:https://cygwin.com/install.html
3)OSGeo4w:用于下载QGIS依赖库
OSGeo4w下载地址:http://trac.osgeo.org/osgeo4w/
2、Cygwin的安装
双击Cygwin ,分别只需下载bison、flex
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
注意:未下载的前面会显示“skip”,点击后会变成最新的版本,只需分别下载flex、bison,其他不用下载,下载后会产生报错的现象。

3. OSGeo4w的安装

双击OSGeo4w,只需下载qgis-dev-deps库,包含了qgis所需要的一系列依赖库,下载会很慢,有时候下载还会中断,只能重新下载,建议使用武汉大学镜像源,网址:http://gwmodel.whu.edu.cn/mirrors/osgeo4w,但是,该镜像源下载对应库版本较低,适用于QGIS3.16等老版本,新版本会报错,一些库没有匹配、更新相应版本,例如qt版本不匹配,会报错。因此,建议使用官方网站下载,虽然网速较慢。http://download.osgeo.org
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

注意:未下载的前面会显示“skip”,点击后会变成最新的版本,只需分别下载qgis-dev-deps,其他不用下载,下载后会产生报错的现象。

三、环境配置

1. 执行命令

建议将源码文件QGIS移动到C:\OSGeo4W目录下。如若用其他路径,注意CMake默认路径是否出现错误。
在这里插入图片描述

推荐使用x64 Native Tools Command Prompt for VS 2019,分别输入以下12条命令,建议命令一条一条执行输入,及时检查路径是否正确:

set OSGEO4W_ROOT=C:\OSGeo4W64
call "%OSGEO4W_ROOT%\bin\o4w_env.bat“
call "%OSGEO4W_ROOT%\bin\py3_env.bat“
call “%OSGEO4W_ROOT%\bin\qt5_env.bat”
path %path%;%QtDir%\bin;%OSGEO4W_ROOT%\bin;C:\cygwin64\bin
set O4W_ROOT=%OSGEO4W_ROOT:\=/%
set LIB_DIR=%O4W_ROOT%
set GRASS_PREFIX=%OSGEO4W_ROOT%/apps/grass/grass80
set INCLUDE=%INCLUDE%;%OSGEO4W_ROOT%\include
set LIB=%LIB%;%OSGEO4W_ROOT%\lib;%OSGEO4W_ROOT%\lib
set LIB=%LIB%;%OSGEO4W_ROOT%\lib
“C:\Program Files\CMake\bin\cmake-gui.exe“(启动cmake)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

在这里插入图片描述

2. CMake配置

选择qgis源代码的根目录,编译后的代码建议选择与源代码同级目录下,文件名为build。
在这里插入图片描述

说明:点击Configure
在配置好后,点击Generate,点击Open Project

3. 编译

在Visual Studio 2019中,将debug模式改为ReWithdebInfo,左侧代码中找到qgis.core,单击属性页,将平台工具集改成Visual Studio 2017 (v141)并应用。
在这里插入图片描述
在这里插入图片描述

点击代码重新生成,亲测大概需要一个半小时左右的时间,生成的所有文件在Build->output->bin->RelWithDebInfo目录下,截图如下:在这里插入图片描述

在这里插入图片描述

总结

以上就是所有内容,本人花费一周心血,结合各类视屏教程、官方网站、中英文网址等资料,较为详细地编写了qgis3.24.2版本编译的过程及注意事项,同学们有问题多交流。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Gausst松鼠会/article/detail/117581
推荐阅读
相关标签
  

闽ICP备14008679号