QGIS二次开发1: vs工程环境配置

上一篇文章讲完QGIS编译,分别编译了RelWithDebInfo和Release两个版本,因为在vs工程下Release也可以开启调试模式,所以没有编译Debug版本。本篇文章讲解如何将编译后的文件引入到vs工程中使用。

一、开发环境

vs2019+Qt5.15.2

从QT官网下载qt在线下载器https://download.qt.io/archive/online_installers/,按提示安装qt5.15.2,同时记得勾选对应vs的版本的tool工具选项,比如winrt_x64_msvc2019。

二、创建QT widgets Application项目

在vs2019下新建QT widgets Application项目。

选择如图所示的Qt Version,默认添加了core、Gui、Widgets模块。

QGIS二次开发1: vs工程环境配置_第1张图片

三、添加引用

 1.添加QT模块

在如图所示部分添加需要使用到的QT模块

QGIS二次开发1: vs工程环境配置_第2张图片

2.添加QGIS文件相关引用

(1).引入头文件目录

需要使用到的QGIS源码中的头文件在这几个目录下(根据需要增删)

QGIS二次开发1: vs工程环境配置_第3张图片

为了方便, 我是将需要使用的qgis头文件全放在QGISDev\include文件夹下。在附加包含目录部分,添加QGIS相关头文件目录。

QGIS二次开发1: vs工程环境配置_第4张图片

(2).添加预定义处理器

这里QTN_VERSION_RIBBON=5.8.1是因为我的工程使用的QtitanRibbon UI控件,所以需要添加。注意添加_USE_MATH_DEFINES,否则可能会遇到报无法解析类似M_PI等math库中变量或函数的问题。

QGIS二次开发1: vs工程环境配置_第5张图片

 (3).添加lib文件所在目录

 将qgis lib文件目录添加进来,注意Release 、Debug等版本的区分。

QGIS二次开发1: vs工程环境配置_第6张图片

 (3).列举lib文件

QGIS二次开发1: vs工程环境配置_第7张图片

(4).Release版本设置成可调试

在以下三个地方进行设置

QGIS二次开发1: vs工程环境配置_第8张图片

QGIS二次开发1: vs工程环境配置_第9张图片

QGIS二次开发1: vs工程环境配置_第10张图片

 3.修改main.cpp,初始化QGIS环境

 环境设置好后,将main.cpp中修改为如下内容(主要是为了初始化QGIS环境),就可以开始QGIS的二次开发了。

    //可执行程序的当前目录
    QString appDir = QCoreApplication::applicationDirPath();
    //设置QSetting环境
    QCoreApplication::setOrganizationName("QtQgis");
    QCoreApplication::setApplicationName("QtQgis Application");

    //初始化QGIS环境
    QgsApplication::init(appDir);
    QgsApplication::initQgis();
    QgsApplication::setMaxThreads(8);

    QtGis w;
    w.show();
    return a.exec();

4.将相应的dll拷贝到生成的.exe路径下

1.将QT、QGIS、GDAL相关的dll拷贝到生成exe的目录下,可以去安装的QT、QGIS相关目录下拷贝。比如我工程下的QT相关的dll(按需引入)

QGIS二次开发1: vs工程环境配置_第11张图片


2.以上环境配置好后,运行工程时,会提示如下的错误:

QGIS二次开发1: vs工程环境配置_第12张图片

解决方式:将QT相应的plugins目录下的style文件夹及platforms文件夹拷贝到生成exe的目录下,比如我的路径是:D:\Qt\5.15.2\msvc2019_64\plugins。其中style文件夹中的dll是用来设置QT界面的样式。

你可能感兴趣的:(QGIS,c++,qt5)