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

Visual Studio环境搭建Qgis二次开发环境

  • QGIS(Quantum GIS)是一款开源的地理信息系统软件,支持二次开发以满足特定的地理信息处理需求。二次开发通常涉及到使用QGIS提供的API和SDK来创建自定义插件或独立应用程序。以下是关于如何搭建QGIS二次开发环境的一些关键步骤和注意事项。

1. 下载必要的软件包

  • OSGeo4W:这是QGIS的主要安装包,包含了QGIS及其依赖项。根据你的操作系统(32位或64位)选择合适的版本进行下载1。
  • Qt:QGIS是基于Qt框架开发的,因此需要安装Qt。推荐使用Qt 5.15版本,因为它与QGIS 3.28兼容3。
  • Visual Studio 或 Qt Creator:这两个IDE都可以用于QGIS的二次开发。Visual Studio适用于Windows平台,而Qt Creator则适用于跨平台开发23。
  • 2. 安装和配置环境

  • Windows平台
    • 使用OSGeo4W安装QGIS开发库。安装过程中选择“Advanced Install”选项,确保安装了所有必要的组件,如Core、GUI和Widgets12。
    • 配置Visual Studio或Qt Creator,创建一个新的Qt GUI Application项目,并引入QGIS库23。
  • 添加包含目录(一共6个)

将VC++目录中,包含目录添加以下地址(我的OSGeo4W默认装在D盘):

D:\OSGeo4W\apps\qgis-dev\include

D:\OSGeo4W\apps\Qt5\include

D:\OSGeo4W\apps\Qt5\include\QtCore

D:\OSGeo4W\apps\Qt5\include\QtWidgets

D:\OSGeo4W\apps\Qt5\include\QtGui

D:\OSGeo4W\apps\Qt5\include\QtXml

  • 添加库目录(一共2个)

D:\OSGeo4W\apps\Qt5\lib

D:\OSGeo4W\apps\qgis-dev\lib

  • 配置链接器(一共6个)

qgis_core.lib

qgis_app.lib

qgis_gui.lib

Qt5Core.lib

Qt5Gui.lib

Qt5Widgets.lib

  • 设置调试环境路径

PATH=D:\OSGeo4W\bin;D:\OSGeo4W\apps\qgis\bin;D:\OSGeo4W\apps\Qt5\bin

  • 设置预处理器

_USE_MATH_DEFINES

  • 设置C++语言标准为ISO C++17标准

配置结束后,测试代码如下:

#include <qapplication.h>

#include <qmainwindow.h>

#include <qgsmapcanvas.h>

#include <qgsrasterlayer.h>

#include <qgsmaptoolpan.h>

int main(int argc,char** argv){

QApplication app(argc, argv);

QMainWindow main_Window;

QgsMapCanvas map_canvas;

QgsRasterLayer layer(R"(E:\360MoveData\Users\DELL\Desktop\XGIS测试数据\abc.tif)");

}


http://www.kler.cn/a/508683.html

相关文章:

  • C# 获取PDF文档中的字体信息(字体名、大小、颜色、样式等
  • 【0393】Postgres内核 checkpointer process ③ 构建 WAL records 工作缓存区
  • 微信小程序校园自助点餐系统实战:从设计到实现
  • IP层之分片包的整合处理
  • 中职网络建设与运维ansible服务
  • c#删除文件和目录到回收站
  • 结合帧级边界检测和深度伪造检测,定位部分伪造音频攻击中的篡改区域
  • 【深度学习量化交易14】正式开源!看海量化交易系统——基于miniQMT的量化交易软件
  • ip归属地和所在地什么区别:解析网络身份与物理位置的差异‌
  • Nginx 跨域配置详细讲解
  • R语言 | vscode R plot 不弹出图形窗口,看不到图怎么办?
  • 语义检索效果差?深度学习rerank VS 统计rerank选哪个
  • 深入理解 Spring 中的 @Bean 和 @Import 注解及其使用
  • 【记录52】el-table-column 添加fixed属性 滚动条无法滑动
  • Sa-token SSO单点登录前后端分离基于vue的实现
  • ffmpeg视频总帧数获取,取某一帧的图像方法
  • 学英语学技术:Elasticsearch 线程池
  • LLVM - 编译器前端 - 理解BNF(巴科斯-诺尔范式)
  • [ZJCTF 2019]NiZhuanSiWei 1
  • R语言的文件操作
  • 一分钟学习数据安全——数据安全的核心概念CIA以及安当解决方案
  • 做跨境电商服务器用什么宽带好?
  • 学习笔记081——如何备份服务器中MySQL数据库数据?
  • 【RK3588嵌入式图形编程】-SDL2-创建应用窗口
  • 微信小程序-base64加解密
  • Java(面向对象进阶——抽象类)