当前位置:   article > 正文

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

qgis二次开发

配置很多次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中的代码替换成下列:

  1. #include "peizhi.h" //这个需要根据自己的项目名修改
  2. #include <QtWidgets/QApplication>
  3. #include <qgsapplication.h>
  4. #include <qgsmapcanvas.h>
  5. #include <qgsrasterlayer.h>
  6. #include <qgsmaptoolpan.h>
  7. int main(int argc, char* argv[])
  8. {
  9. QApplication a(argc, argv);
  10. QMainWindow main_window;
  11. QgsMapCanvas map_canvas;
  12. QgsRasterLayer layer(R"(E:\data\lucc2017.tif)"); //括号内的路径是本地影像路径,需要更改
  13. map_canvas.setLayers({ &layer });
  14. map_canvas.setExtent(layer.extent());
  15. map_canvas.refresh();
  16. QgsMapToolPan map_tool_pan(&map_canvas);
  17. map_canvas.setMapTool(&map_tool_pan);
  18. main_window.setCentralWidget(&map_canvas);
  19. main_window.show();
  20. return a.exec();
  21. }

 此时运行报错——找不到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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/你好赵伟/article/detail/117513
推荐阅读
相关标签
  

闽ICP备14008679号