QGIS编译过程文档记录

来源:互联网 发布:如何自学php 编辑:程序博客网 时间:2024/06/05 06:41

QGIS Ubuntu17.04 编译过程


1.选择开发环境

  • 由于考虑到虚拟机可以创建快照并回滚,于是我选择在虚拟机上进行qgis的编译。

  • 起初,我尝试在Ubuntu16.04( xenial )上进行源码编译,但是由于xenial存在GDAL库版本太低的情况(具体错误描述如下),故最后我选择在Ubuntu 17.04(zesty)上进行编译。

错误1:Plain xenial's GDAL for instance is to old and we build with GDAL2 from UbuntuGis(官网解释)解决方案:虽然官网提示可以用GDAL2解决,但是由于找不到依赖于GDAL2的众多软件安装命令,故选择换用Ubuntu17.04 (zesty)。

2.更新软件源

  • 更新软件源非常重要。
sudo apt-get update
  • 在一次编译过程我忘记了更新软件源,导致最后编译时,报出了很多与软件版本有关的错误,由于涉及到的软件过多,我只能选择回滚。
错误2:忘记更新软件源解决方案:在安装前更新软件源。

3.安装软件

sudo apt-get install bison ca-certificates cmake dh-python doxygen flex gdal-bin git graphviz grass-dev libexpat1-dev libfcgi-dev libgdal-dev libgeos-dev libgsl-dev libpq-dev libproj-dev libqca-qt5-2-dev libqca-qt5-2-plugins libqt5opengl5-dev libqt5scintilla2-dev libqt5sql5-sqlite libqt5svg5-dev libqt5webkit5-dev libqt5xmlpatterns5-dev libqwt-qt5-dev libspatialindex-dev libspatialite-dev libsqlite3-dev libsqlite3-mod-spatialite libzip-dev lighttpd locales ninja-build pkg-config poppler-utils pyqt5-dev pyqt5-dev-tools pyqt5.qsci-dev python3-all-dev python3-dev python3-future python3-gdal python3-mock python3-nose2 python3-psycopg2 python3-pyqt5 python3-pyqt5.qsci python3-pyqt5.qtsql python3-pyqt5.qtsvg python3-sip python3-sip-dev python3-termcolor python3-yaml qt5keychain-dev qtbase5-dev qtpositioning5-dev qtscript5-dev qttools5-dev qttools5-dev-tools spawn-fcgi txt2tags xauth xfonts-100dpi xfonts-75dpi xfonts-base xfonts-scalable xvfb cmake-curses-gui expect

4.下载QGIS源码

  • 创建开发目录
mkdir -p ${HOME}/dev/cpp
  • 下载当前源码: 这里有两种方法一种是匿名方法,一种是开发者方法。由于我们不是源码开发者,也没有提交QGIS源代码改动的权限,所以我们使用匿名git方法。
cd ${HOME}/dev/cppgit clone git://github.com/qgis/QGIS.git
错误3:之前在使用官方给出的2.18release)代码版本时,出现了各种各样的依赖错误,所以我决定还是跟着官方教程走,git最新的代码。解决方案:使用git下载最新代码。

5.编译

  • ccmake
cd ${HOME}/dev/cppcd QGISmkdir build-mastercd build-masterccmake ..//在界面成功打开过后,按c(configure)开始配置//完成后,按g(generate)开始生成(注意g选项如果没有出现,要多按几次c)//生成完成后,按q(quit)退出
错误4:官方教程推荐使用一个其他有权限写的目录来代替ccmake中的CMAKE_INSTALL_PREFIX的默认设置/usr/local,但是我改变过后安装出现了很多错误,所以我还是选择了默认路径解决方案:不改变CMAKE_INSTALL_PREFIX的默认设置/usr/local(既按照上述操作进行)
  • 开始安装
sudo make install
错误5:可能会出现如下错误 lrelease: could not exec '/usr/lib/x86_64-linux-gnu/qt4/bin/lrelease': No such file or directory解决方案:sudo apt-get install qt4-dev-tools --no-install-recommendssudo apt-get install qt4-linguist-tools

6.启动QGIS

cd /usr/local/bin./qgis
错误6:可能会出现如下错误 error while loading shared libraries解决方案:export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib/ ,然后重启。//注意如果你的路径改变了,上述的路径也要改变

7.援引

  1. qgis官方教程 https://htmlpreview.github.io/?https://raw.github.com/qgis/QGIS/master/doc/INSTALL.html#toc3
  2. 错误5 https://github.com/kamilion/customizer/issues/85
  3. http://blog.csdn.net/sircarfield/article/details/25534701
原创粉丝点击