本文向大家介绍一种在Windows上编译QGIS 3.40的方法。
编译思路均来自官方给出的编译方法,点击这里查看原文。
官方提供了三种在Windows上编译的方法。分别是基于VS2022、MingGW和vcpkg。本文将采用VS2022编译。
注意VS版本:由于我编译的是QGIS 3.40,依赖的OSGeo4W,是基于VS2022版本提供的,所以此处我也需要选用VS2022。所以如果你想基于VS的低版本编译的话,也是可以的,需要自行编译依赖库即可。
点击这里,了解更多QGIS与OSGeo4W的关系。
前情提要说完了,编译正式开始。
本过程与原文略有不同,编译有问题,欢迎留言,或者联系我们。
准备编译工具
Visual Studio 2022 Community Edition,选择桌面开发C++。
CMake
Cygwin64,需要额外安装flex、bison
OSGeo4W,额外安装qgis-dev-deps
准备源码
git clone git://github.com/qgis/QGIS.git
切换到3.40分支
设置编译参数
所有的编译参数均由cmake协助完成。cmake使用方法,请自行查阅。
由于QGIS集成了太多开源库,所有此处是一个繁琐的过程,需要将cmake报缺失的库和头文件目录都找到。
注意:缺失的库和头文件目录都可以在OSGeo4W中找到。只有缺少的flex、bison库,需要指定到Cygwin64环境。
如下图,是我配置完毕后的输出结果。需要达到这样,再开始下一步的编译。

开始编译
编译选项设置为Release或RelWithDebugInfo,看你需要。
建议优先编译qgis_core和qgis_gui,确认你设置的依赖库是否正确。若设置错误,在连接时会报函数无法找到等错误。
结果浏览
编译结果在cmake输出目录的output>bin>release下。

转载注明出处,需要更多支持,请联系我们