QGIS二次开发环境配置(VS2019+QT5.12.2+QGIS3.26.3)

配置很多次QGIS二次开发环境,失败过很多次,现在终于成功了,把配置过程记录下来给正在为配置环境的地信人一些参考。

目录

一、下载QGIS二次开发SDK-OSGeo4w

二、在VS中配置QGIS

1、在VS中创建QT项目

2、项目属性设置

三、添加示例代码 

1、替换主函数代码

2、将相关dll文件放在项目.exe目录下

3、点击运行

一、下载QGIS二次开发SDK-OSGeo4w

Download QGIShttps://www.qgis.org/en/site/forusers/download.html

下载完成后,运行 osgeo4w-setup.exe,进入安装向导。

这里注意选择存储路径,后面配环境会频繁用到,建议存储路径D:\OSGeo4W,笔者存储在D:\QGIS\OSGeo4W。

 这里默认,点击下一步。

 选第一个网站,然后下一步。

在这里下载qgis包和 qt库,保证下载后..\OSGeo4W\apps文件中由Qt和qgis-ltr文件夹。(我已下载,可能界面提示有区别)

完成后就可以开始进行VS的配置了!

二、在VS中配置QGIS

1、在VS中创建QT项目

由于QGIS二次开发环境必须在Release环境下才能运行,因此将Debug删去,只保留Release版本。其他默认下一步,成功创建项目。

2、项目属性设置

(1)设置附加包含目录

在项目->xx(项目名)属性->c/c++->常规中,添加“附加包含目录” ,目录为下载的OSGeo4W的相关库存储路径,需要根据自己存储路径个性化设置。

D:\QGIS\OSGeo4W\apps\qgis-ltr\include

D:\QGIS\OSGeo4W\apps\Qt5\include

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

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

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

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

 (2)设置附加库目录

在项链接器->常规中,添加“附加库目录” 。

D:\QGIS\OSGeo4W\apps\Qt5\lib

D:\QGIS\OSGeo4W\apps\qgis-ltr\lib

 (3)设置附加依赖项

qgis_core.lib

qgis_app.lib

qgis_gui.lib

Qt5Core.lib

Qt5Gui.lib

Qt5Widgets.lib

(4)其他设置

1>设置预处理器定义

在c/c++->预处理器->预处理器定义:

_USE_MATH_DEFINES 

不设置可能会出现以下报错:

2>设置C++语言标准

将 配置属性->常规->C++语言标准 设置为 ISO C++17标准(/std:c++17) 

若为默认选项,会有以下报错。

三、添加示例代码 

1、替换主函数代码

main.cpp中的代码替换成下列:

#include "peizhi.h" //这个需要根据自己的项目名修改
#include <QtWidgets/QApplication>
#include <qgsapplication.h>
#include <qgsmapcanvas.h>
#include <qgsrasterlayer.h>
#include <qgsmaptoolpan.h>

int main(int argc, char* argv[])
{
	QApplication a(argc, argv);
	QMainWindow main_window;

	QgsMapCanvas map_canvas;
	QgsRasterLayer layer(R"(E:\data\lucc2017.tif)");  //括号内的路径是本地影像路径,需要更改
	map_canvas.setLayers({ &layer });
	map_canvas.setExtent(layer.extent());
	map_canvas.refresh();
	QgsMapToolPan map_tool_pan(&map_canvas);
	map_canvas.setMapTool(&map_tool_pan);

	main_window.setCentralWidget(&map_canvas);
	main_window.show();
	return a.exec();
}

 此时运行报错——找不到QGIS相关dll

2、将相关dll文件放在项目.exe目录下

 将下列bin中所有的文件全部复制到此目录下:

D:\QGIS\OSGeo4W\apps\Qt5\bin

D:\QGIS\OSGeo4W\bin

D:\QGIS\OSGeo4W\apps\qgis-ltr\bin

3、点击运行

成功利用VS配置QGIS二次开发环境!

若出现

则将下列文件夹复制到.exe目录下。

D:\QGIS\OSGeo4W\apps\Qt5\plugins\platforms

参考资料:

qgis二次开发环境搭建(超级详细)_xhome516的博客-CSDN博客_qgis二次开发

QGIS二次开发环境搭建(VS2022+QGIS3.24.0+QT5.15.2)_哔哩哔哩_bilibili

  • 16
    点赞
  • 73
    收藏
    觉得还不错? 一键收藏
  • 12
    评论
### 回答1: QGIS是一款开源的地理信息系统软件,它提供了丰富的功能和工具,可以用于对空间数据进行分析、处理和可视化。而Qt是一种跨平台的GUI开发框架,可以用于快速创建用户界面。 在QGIS二次开发中,Qt被广泛应用于开发插件、工具和定制化界面等方面。Qt提供了一系列的库和工具,可以帮助开发者轻松地实现各种功能。 首先,如果想要进行QGIS二次开发,需要安装Qt开发环境。Qt提供了免费的开源版本和商业版本,可以根据自己的需要选择合适的版本。安装完成后,可以使用Qt Creator创建新的项目或打开现有的项目。 在Qt Creator中,可以使用C++语言来编写代码,实现对QGIS二次开发。可以通过使用QGIS的API接口来访问和操作QGIS的功能和数据。QGIS提供了一系列的类和方法,可以用于加载和显示地图、进行空间数据查询和分析等任务。 除了使用C++语言,还可以使用Python来进行QGIS二次开发。在Python中,可以使用PyQt模块来完成与Qt的交互操作。PyQtQt的Python绑定库,通过它可以使用Python语言来编写与Qt相关的代码。 在进行QGIS二次开发时,还可以使用Qt Designer来创建用户界面。Qt Designer是Qt提供的可视化界面设计工具,可以快速地创建和编辑用户界面。创建好的界面文件可以与项目代码进行集成,实现丰富的用户界面交互。 总结来说,QGIS二次开发教程涉及到了Qt开发环境的安装、项目的创建与打开、代码的编写与调试、API的使用等内容。通过学习和实践,可以掌握QGISQt二次开发技能,实现各种个性化的功能和定制化的界面。 ### 回答2: QGIS是一个开源的地理信息系统软件,可以用于地图制作、数据分析和空间数据可视化等任务。而Qt是一个跨平台的应用程序开发框架,提供了丰富的图形界面和工具库,使开发人员可以轻松地开发软件应用。 QGIS二次开发主要是指在现有的QGIS基础上进行功能扩展或定制化开发,而Qt则是作为QGIS二次开发的基础框架。Qt提供了丰富的类库和工具,使得开发人员可以使用C++进行开发,并轻松地创建用户友好的图形界面。 要进行QGIS二次开发,首先需要安装Qt开发环境,并将QGIS源代码下载到本地。然后,可以通过Qt Creator这个集成开发环境来创建和管理项目。在项目中,可以使用Qt的类库和工具来编写代码,并集成到QGIS的框架中。 对于QGIS二次开发,我想分享以下步骤: 1. 安装Qt开发环境和QGIS源代码。 2. 打开Qt Creator,创建一个新的Qt项目。 3. 配置项目的构建选项,将QGIS的源代码引入到项目中。 4. 在项目中添加需要的类库和头文件,并根据需求编写相关功能代码。 5. 配置项目的部署设置,确保生成的可执行文件可以正常运行并与QGIS进行交互。 6. 编译和构建项目,生成目标可执行文件。 7. 运行和测试项目,确保功能正常且与QGIS协同工作。 在二次开发中,可以利用QGIS提供的插件开发接口和插件示例,参考官方文档和社区资源,了解QGIS的核心架构和API接口。这将帮助我们更好地进行定制化开发和功能扩展。 总之,QGIS二次开发教程需要通过Qt来实现,通过学习和实践,我们可以利用Qt的强大功能和QGIS的丰富插件来扩展和定制化QGIS的功能,满足不同的地理信息系统需求。 ### 回答3: QGIS是一款开源的地理信息系统(GIS)软件,它提供了强大的地理空间数据处理和分析功能。QGIS支持二次开发,这意味着用户可以使用QGIS的API进行自定义插件、工具和应用程序的开发Qt是一种跨平台的应用程序开发框架,它提供了丰富的GUI和其他功能,使开发人员能够轻松地构建功能强大、易于使用的应用程序。QGIS使用Qt作为其主要的开发框架,这也意味着如果想要进行QGIS二次开发,需要了解Qt的基本概念和使用方法。 QGIS二次开发教程Qt可以帮助开发人员学习如何使用Qt框架来扩展和定制QGIS的功能。下面是一些学习QGIS二次开发教程Qt的步骤: 1. 学习Qt基础知识:了解Qt的基本概念、类和功能。可以阅读Qt官方文档或参考相关书籍和教程。 2. 学习QGIS的API:了解QGIS的API及其提供的类和函数。可以阅读QGIS官方文档或参考相关教程和示例代码。 3. 编写第一个插件:根据QGIS的插件开发指南,创建一个简单的插件。可以使用Qt的UI设计工具来创建插件的用户界面。 4. 扩展和定制功能:了解如何使用QtQGIS的API来扩展和定制QGIS的功能。可以根据实际需求,开发自定义工具、算法或数据处理功能。 5. 调试和测试:使用Qt的调试工具和QGIS的测试工具对开发的插件进行调试和测试,确保其功能正常。 通过学习QGIS二次开发教程Qt开发人员可以了解如何利用QtQGIS的API进行高级地理空间数据分析、可视化和处理,创建定制化的GIS应用程序。同时,通过QGIS的插件系统,可以与QGIS社区分享和发布开发的插件,为其他用户提供更多的功能和工具选项。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值