当前位置: 首页 > news >正文

Linux下QGIS二次开发环境搭建

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 库下载
    • 1. Ubuntu基础依赖库分步下载
      • QGIS 核心库及开发包
      • GDAL(Geospatial Data Abstraction Library)
      • GEOS(Geometry Engine - Open Source)
      • PROJ
      • SQLite 和 Spatialite
      • PostgreSQL 和 PostGIS(可选)
      • Qt 开发库
    • 2.Ubuntu一步到位
    • 3. Fedora 系统安装命令
    • 4. 验证安装
  • 库分布目录


提示:以下是本篇文章正文内容,下面案例可供参考

库下载

在 Linux 上进行 QGIS 的 C++ 二次开发,需要下载一系列的库文件和头文件,以下以 Ubuntu/Debian 系统为例介绍所需的库及对应的安装命令,其他系统(如 Fedora 等)安装方式会有差异,后续也会给出对应说明。

1. Ubuntu基础依赖库分步下载

这些库是进行 QGIS 开发的基础,QGIS 很多功能依赖它们来实现。

QGIS 核心库及开发包

sudo apt-get install qgis qgis-plugin-grass libqgis-dev
  • qgis:QGIS 主程序。
  • qgis-plugin-grass:QGIS 的 GRASS 插件,用于集成 GRASS GIS 功能。
  • libqgis-dev:包含 QGIS 的开发库和头文件,是进行 C++ 开发必不可少的。

GDAL(Geospatial Data Abstraction Library)

sudo apt-get install libgdal-dev

GDAL 是一个用于地理空间数据格式转换和处理的开源库,QGIS 利用它来读取和写入各种地理空间数据格式。

GEOS(Geometry Engine - Open Source)

sudo apt-get install libgeos-dev

GEOS 是一个开源的几何引擎库,提供了一系列的几何操作函数,如空间关系判断、几何图形分析等,QGIS 在处理地理空间数据时会大量使用这些功能。

PROJ

sudo apt-get install libproj-dev

PROJ 是一个用于地理坐标系统转换的库,QGIS 需要它来处理不同坐标系统之间的转换。

SQLite 和 Spatialite

sudo apt-get install libsqlite3-dev libspatialite-dev

SQLite 是一个轻量级的数据库,Spatialite 是在 SQLite 基础上扩展的支持地理空间数据的数据库,QGIS 可以使用它们来存储和管理地理空间数据。

PostgreSQL 和 PostGIS(可选)

sudo apt-get install libpq-dev postgis

如果你的项目需要使用 PostgreSQL 数据库来存储地理空间数据,那么安装这两个库。PostGIS 是 PostgreSQL 的一个扩展,为其添加了地理空间数据处理功能。

Qt 开发库

sudo apt-get install qt5-default qttools5-dev qttools5-dev-tools libqt5svg5-dev

QGIS 的图形用户界面是基于 Qt 框架构建的,因此进行 C++ 开发需要安装 Qt 开发库。

2.Ubuntu一步到位

QGIS开发依赖于多个库,如GDAL、GEOS、PROJ等,继续以Ubuntu为例,使用以下命令安装这些依赖:

sudo apt-get install build-essential cmake git python3 python3-pip python3-dev \qt5-default qttools5-dev qttools5-dev-tools libqt5svg5-dev \libgdal-dev libgeos-dev libproj-dev libsqlite3-dev libspatialite-dev \libpq-dev libzip-dev

QGIS开发很多时候会使用Python,你需要确保Python及相关的开发包已安装:

sudo apt-get install python3 python3-pip python3-dev

同时可以安装一些常用的Python库:

pip3 install numpy pandas

3. Fedora 系统安装命令

如果你使用的是 Fedora 系统,对应的安装命令如下:

sudo dnf install qgis gdal-devel geos-devel proj-devel sqlite-devel spatialite-devel postgresql-devel qt5-qtbase-devel qt5-qttools-devel qt5-qtsvg-devel

4. 验证安装

安装完成后,你可以通过以下方式验证库是否安装成功:

  • 查看库文件是否存在,例如查看 GDAL 库文件:
ls /usr/lib | grep gdal
  • 查看头文件是否存在,例如查看 QGIS 头文件:
ls /usr/include/qgis

安装完这些库文件和头文件后,你就可以开始进行 QGIS 的 C++ 二次开发了。

库分布目录

在Linux系统中,libqgis-dev 安装后,其文件通常分布在以下几个目录:

  • 头文件:位于 /usr/include/qgis/ 目录下,包含了进行 QGIS C++ 开发所需的头文件,用于声明函数、类、结构体等,让开发者在编写代码时能够引用 QGIS 的相关功能。
  • 库文件:存放在 /usr/lib/ 目录下,常见的有 libqgis_3d.solibqgis_analysis.solibqgis_app.solibqgis_core.solibqgis_gui.so 等,这些库文件包含了 QGIS 的各种功能实现,是链接程序时的重要依赖。
  • 其他文件:在 /usr/share/qgis/ 目录下有 findqgis.cmake 文件,用于帮助 CMake 找到 QGIS 的相关资源,方便在项目构建过程中进行配置和链接。

不过,不同的Linux发行版可能会有一些差异,如果在上述目录中没有找到,可以尝试使用 dpkg -L libqgis-dev 命令(适用于基于Debian的系统,如Ubuntu)来查看该软件包安装的所有文件及其路径。

dpkg -L libgeos-dev

如果是使用包管理工具(如 apt 等)安装 libgeos-dev,在基于 Debian 或 Ubuntu 的系统中,libgeos-dev 相关文件通常会被安装到以下一些常见路径:

  • 头文件:一般会安装到 /usr/include/geos/usr/local/include/geos 目录下,具体取决于你的系统设置和安装方式。这些头文件包含了库的函数声明和相关定义,用于在编译程序时提供必要的信息。
  • 库文件:库文件通常会被安装到 /usr/lib/usr/local/lib 目录下。在这些目录中,你可以找到 libgeos 相关的动态链接库文件,如 libgeos_c.so 等。

如果是通过源码编译安装 libgeos-dev,在安装过程中你可以指定安装路径。如果没有指定,通常默认安装到 /usr/local 目录下,具体可能是 /usr/local/include 用于头文件,/usr/local/lib 用于库文件。

Qt开发库的安装位置因安装方式和Linux发行版而异,以下是一些常见情况:

  • 使用包管理器安装
    • 基于Debian的系统(如Ubuntu、Debian):执行命令安装qt5-default等相关包后,头文件通常在/usr/include/qt5目录下,库文件在/usr/lib/x86_64-linux-gnu/(64位系统)或/usr/lib/i386-linux-gnu/(32位系统)目录下,可执行文件(如qmake)在/usr/bin/目录下。
    • 基于RPM的系统(如Fedora、openSUSE):使用dnf install qt5-qtbase等命令安装后,头文件一般在/usr/include/qt5/目录,库文件在/usr/lib64/(64位系统)或/usr/lib/(32位系统)目录,qmake等可执行文件在/usr/bin/目录。
  • 使用Qt在线安装器安装:下载并运行Qt在线安装器,在安装过程中可以指定安装目录,默认情况下,会安装到/opt/Qt目录下。安装完成后,在指定的安装目录下会有不同版本的Qt文件夹,例如/opt/Qt/5.12.9/,其中包含bin(可执行文件)、lib(库文件)、include(头文件)、examples(示例程序)等子目录。
  • 通过源代码编译安装:如果从源代码编译安装Qt,默认会安装到/usr/local/Qt-版本号目录下。例如,安装Qt 5.9.3,安装目录就是/usr/local/Qt-5.9.3。该目录下同样有binlibinclude等子目录,分别存放相应的文件。

要确切知道Qt开发库的安装位置,可以通过以下命令查找:

which qmake

该命令会返回qmake的路径,通常qmake位于Qt安装目录的bin子目录下,由此可以推断出Qt库和其他工具的位置。


工作记录类文章

相关文章:

  • 【投稿与写作】overleaf 文章转投arxiv流程经验分享
  • LeetCode 每日一题 2025/6/16-2025/6/22
  • 【DDD】——带你领略领域驱动设计的独特魅力
  • winform mvvm
  • 案例练习二
  • Unity3D 屏幕点击特效
  • 【前后前】导入Excel文件闭环模型:Vue3前端上传Excel文件,【Java后端接收、解析、返回数据】,Vue3前端接收展示数据
  • 「Linux文件及目录管理」vi、vim编辑器
  • Azure Devops
  • 【递归,搜索与回溯算法】记忆化搜索(二)
  • 深度实战|星环OS三大创新场景解密:如何用确定性技术重构智能汽车安全与体验?
  • 【旧题新解】第 20 集 输出保留 3 位小数的浮点数
  • 解决qt.qpa.plugin: Could not find the Qt platform plugin “windows“ in ““ ...
  • MySQL安装与配置【windowsMac】
  • 15.3 LLaMA 3+LangChain实战:智能点餐Agent多轮对话设计落地,订单准确率提升90%!
  • B004基于STM32F401单片机简易交通灯实训数码管显示设计仿真资料
  • Vue3解析Spring Boot ResponseEntity
  • Day39 图像数据与显存
  • 关于uniapp解析SSE响应数据的处理
  • 如何用AI开发完整的小程序<7>—让AI微调UI排版
  • 门头沟网站建设/刷seo关键词排名软件
  • 网站建设硬件设备/网络营销经典案例
  • WordPress注册免发邮件/快速网站排名优化
  • 网站建设包括什么/西安百度推广代运营
  • 营销型网站怎么建设/电商运营公司简介
  • 做网站电信运营许可证/软文公司代写