自己动手编译QGIS 3.18源代码,含出错大全和解决办法

本文详细介绍了在Ubuntu 20.04环境下编译QGIS 3.18源代码的全过程,包括编译环境的搭建、依赖库的安装、编译过程以及遇到的错误和解决方案。编译过程中,重点讨论了如何处理三维模块的编译问题,如Qt53DExtras的配置和错误排查。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

从2月19日开始打包,到2月23日,QGIS 3.18的安装包经过漫长的4天才完成打包,在这等待的4天里,大家有没有像我一样萌生出自己动手编译源代码的想法呢?今天想分享的是QGIS3.18源代码编译的过程,并在最后整理出编译过程遇到的错误和解决办法。

 

 01 编译环境

 

  • 操作系统

 

本次编译选用Ubuntu 20.04操作系统,理由如下:

 

从第一个版本开始,QGIS大部分开发是在Linux环境下进行的,与Linux系统的兼容性更好(实际上,我在Windows系统也试着编译过QGIS源码,编译环境的安装、编译过程难度比在Linux系统大得多);

 

Ubuntu 20.04是一个与Windows系统相类似的、以桌面应用为主的Linux发行版本,对Linux新手来说比较符合操作习惯、易于上手。而且 20.04版本是Ubuntu的长期支持(LTS)版本,社区可提供5年的支持,比最新的20.10版稳定性和成熟度好很多。

 

  • 其他编译环境

 

CMake:3.16.3

Flex :2.6.4

Bison:3.5.1

Python:3.8.5

 

 02 下载源代码

 

建议将不同版本的QGIS源代码用单独的目录存放,打开命令行终端,输入如下命令,建立工作目录并切换到该目录:

 

mkdir -p ${HOME}/dev/QGIScd ${HOME}/dev/QGIS

 

下载源代码: 

 

wget https://github.com/qgis/QGIS/archive/final-3_18_0.tar.gz

 

解压缩下载回来的代码包:

 

tar -zxf QGIS-final-3_18_0.tar.gz

 

 03 安装依赖库

 

从Ubuntu系统的左下角的开始菜单打开一个命令行终端,参照github的“Building QGIS from source - step by step”文档(https://github.com/qgis/QGIS/blob/master/INSTALL.md),输入如下命令安装QGIS编译需要的依赖库:

 

sudo apt-get install bison ca-certificates ccache cmake cmake-curses-gui dh-python doxygen expect flex flip gdal-bin git graphviz grass-dev libexiv2-dev libexpat1-dev libfcgi-dev libgdal-dev libgeos-dev libgsl-dev libpdal-dev libpq-dev libproj-dev libprotobuf-dev libqca-qt5-2-dev libqca-qt5-2-plugins libqscintilla2-qt5-dev libqt5opengl5-dev libqt5serialport5-dev libqt5sql5-sqlite libqt5svg5-dev libqt5webkit5-dev libqt5xmlpatterns5-dev libqwt-qt5-dev libspatialindex-dev libspatialite-dev libsqlite3-dev libsqlite3-mod-spatialite libyaml-tiny-perl libzip-dev libzstd-dev lighttpd locales ninja-build ocl-icd-opencl-dev opencl-headers pdal pkg-config poppler-utils protobuf-compiler pyqt5-dev pyqt5-dev-tools pyqt5.qsci-dev python3-all-dev python3-autopep8 python3-dateutil python3-dev python3-future python3-gdal python3-httplib2 python3-jinja2 python3-lxml python3-markupsafe python3-mock python3-nose2 python3-owslib python3-plotly python3-psycopg2 python3-pygments python3-pyproj python3-pyqt5 python3-pyqt5.qsci python3-pyqt5.qtsql python3-pyqt5.qtsvg python3-pyqt5
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值