QGIS二次开发(二):windows+vs2022+QGIS3.44源码编译

张开发
2026/4/15 6:57:16 15 分钟阅读

分享文章

QGIS二次开发(二):windows+vs2022+QGIS3.44源码编译
前言一个开源项目的二次开发,离不离开源码的阅读与使用。截止目前2026年3月,国内还没有比较完整的QGIS3.X的教程,尤其作者想要试用QGIS的3D模块,这是当前最新版本的QGIS才有的新模块,相关开发信息比较难获取。所以自己动手丰衣足食。由于本文是作者已经源码成功编译完成后整理的,所以有一些问题没有及时记录,主要是介绍一下遇到问题时的解决思路与解决方法。授人以鱼不如授人以渔。如有问题,欢迎评论区讨论与指正!一 工具准备作者编译环境为Windows11+vs2022+Qt5.15.13+OSGeo4W。是上一节《QGIS二次开发(一):windows+QGIS 3.44+Qt Creator环境搭建》的环境,有需要可参考。在本章节中,我们依然依赖这个环境,尤其是OSGeo4W。qgis的源码涉及多种库,例如GDAL、pdal、python等等,都需要OSGeo4W进行下载与管理。在此基础上,我们还需要:cmake:用Qt自带的版本或官网下载https://cmake.org/files/v3.28/cmake-3.28.2-windows-x86_64.zipCygWin (64位):与OSGeo4W一样是包管理器,操作也相同,只是内容不同,windows下需要的bison 与flex 以及git在这里。下载地址:Cygwin Installation或https://cygwin.com/setup-x86_64.exe。安装后直接筛选bison与flex以及git即可。(git即使安装了,也要选择安装,可参考引用)QGIS3.44.7源码包:https://github.com/qgis/QGIS/archive/refs/tags/final-3_44_8.zipninja:下载(Version = 1.10)后,复制文件ninja.exe到C:\OSGeo4W\bin\(以具体安装目录为准)。Ninja和Make都是通过脚本语言指定编译规则,然后调用编译器实现自动化编译。然而,Ninja更注重速度,而Make功能更强大。CMake则是一个生成Ninja和Makefile文件的工具,用户只需通过对源码文件的简单描述,就能自动生成构建文件。总的来说,Ninja是一个高效、快速的构建工具,适用于需要快速编译的大型项目。详细的版本需求参考qgis官网源码编译文档。QGIS/INSTALL.md at release-3_44 · qgis/QGIS · GitHub二 环境变量配置2.1 环境变量下面的环境变量,是Cmake需要读取到各个库文件的位置。里面的路径需要参考本地安装的实际路径,同时我们编译的QGIS,目前都是基于Qt5,只配置Qt5的相关路径即可。变量名变量值(位置参考安装位置)状态PYTHONHOME

更多文章