如何在Linux下编译QGIS?

最近折腾了一下 Linux 和 macOS 下的环境配置,感觉 Linux 下因为有强大的包管理工具,总体上配置 QGIS 开发环境是比较方便地。而 macOS 虽然没有 apt 那么强大的工具,但是和 Windows 一样,依赖库可以直接下载,有坑但是总体上也比较方便。

Linux

QGIS 在 Linux 上配置环境是比较方便的,根据官方文档进行配置就可以了。依赖库可以如此安装

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 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 lighttpd locales ninja-build ocl-icd-opencl-dev opencl-headers 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.qtwebkit python3-requests python3-sip python3-sip-dev python3-six python3-termcolor python3-tz python3-yaml qt3d-assimpsceneimport-plugin qt3d-defaultgeometryloader-plugin qt3d-gltfsceneio-plugin qt3d-scene2d-plugin qt3d5-dev qt5-default qt5keychain-dev qtbase5-dev qtbase5-private-dev qtpositioning5-dev qttools5-dev qttools5-dev-tools saga spawn-fcgi pandoc xauth xfonts-100dpi xfonts-75dpi xfonts-base xfonts-scalable xvfb

其中 python-autopep8 可能会报没有这个库,那用 pip 装其实也一样,去掉也行。

然后使用 cmake 配置 QGIS ,使用 make 编译就可以了。比如 Ubuntu 系统下,在 QGIS 源码仓库里面

mkdir BUILD
cd BUILD
cmake ..
make -j8
sudo make install

基本上无需其他操作。

然后就是安装 QtCreator 了。下载 Qt 在线安装器,可以从清华大学开源软件镜像站下载

清华大学开源软件镜像

然后安装 Qt 。只安装 QtCreator 的话,可能不能使用之前 apt 安装的 Qt 库。所以要查看一下 apt 安装的 Qt 版本,然后安装一个主次版本号相同的 Qt 库,才能让 QtCreator 使用。

但是注意有个坑。如果你需要使用 Armadiilo9 这个库,在之前 apt 安装 GDAL 的时候会自动安装一个 armadillo8 ,貌似和 Armadillo9 不兼容。所以需要先卸载 GDAL 及其相关依赖库,然后自行编译 PROJ, GEOS, Armadillo 以及 GDAL 库。

总体来说 Linux 不愧是开发界永远的神,确实很方便。

unix {
    INCLUDEPATH += /usr/local/include/qgis \
        /usr/include/gdal \
        /usr/include/qwt \
        /usr/include/x86_64-linux-gnu/qt5 \
        /usr/lib/gcc/x86_64-linux-gnu/9/include
    LIBS += -lqgis_core -lqgis_gui -l"qwt-qt5"
}

将这段配置添加到 pro 文件中即可

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

HydroCoder

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值