OSGeo4W简介
更高级的 QGIS 用户应该使用 OSGeo4W 包。此安装程序可以并行安装多个版本的 QGIS,并且还可以进行更高效的更新,因为每个新版本仅下载和安装更改的组件。
OSGeo4W 存储库包含许多来自 OSGeo 项目的软件。包括 QGIS 和所有依赖项,以及 Python、GRASS、GDAL 等。安装程序可以从 Internet 安装或事先下载所有需要的软件包。下载的文件保存在本地目录中,以备将来安装,也可用于离线安装。
OSGeo4W官网下载安装
1、在官网下载
2、双击exe安装,具体如下图集
下图使用镜像仓库 http://gwmodel.whu.edu.cn/mirrors/osgeo4w,使得下载速度提高。(注意,添加仓库后,需要选中该地址后点击下一页)
严重注意: 添加上面的镜像仓库源并选择后,那么之后下载安装界面提供的版本可能不是最新的。如果需要下载安装最新的版本则重新打开这个下载软件并且不要加入上面的镜像仓库地址,然后选择第一个"https://download.osgeo.org"即可,这样在后面安装下载安装界面提供的版本则是最新版本库。
最终安装完毕后如下:
Vs2017加入"OSGeo4W安装的Qt"
1、打开Vs2017 -> “Qt Vs Tools” -> “Qt Versions” ,添加新的Qt版本
2、如下图,作者电脑上"OSGeo4W安装的Qt"版本为5.11.2。作者曾经安装过Qt5.12.4版本,但这次也是要将5.11.2加入进来,因为后续使用QGIS二次开发时需要用"OSGeo4W"为我们提供的Qt版本来开发。
注意:作者只是建议这么干,在实际开发中作者发现不使用"OSGeo4W安装的Qt"版本而使用曾经安装的5.12.4也可以用,但需要根据程序运行提示可能需要将"OSGeo4W"提供的部分库加入进来。 加入5.11.2也并非完全无用,可以继续探索,非常期待留言分享。
Vs2017链接QGis
1、打开Vs2017并创建Qt窗口工程
2、将main.cpp代码改为如下
#include "QtWidgetsApplication1.h"
#include <QtWidgets/QApplication>
#if 1
#include <qgsapplication.h>
int main(int argc, char *argv[])
{
// 参数三: 如果需要GUI应用程序,则设置为true;对于仅控制台应用程序,设置为false
QgsApplication a(argc, argv, true);
QgsApplication::setPrefixPath("D:/Software/QGis-OSGeo4W/install/apps/qgis-ltr", true); // 设置qgis路径
QgsApplication::setPluginPath("D:/Software/QGis-OSGeo4W/install/apps/qgis-ltr/plugins"); // 设置插件路径
QgsApplication::initQgis(); // 初始化QGis
//QApplication a(argc, argv);
QtWidgetsApplication1 w;
w.show();
return a.exec();
}
#else
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QtWidgetsApplication1 w;
w.show();
return a.exec();
}
#endif
3、Vs的Release项目加入QGis头文件
4、Vs的Release项目加入QGis库路径及库文件
5、加库打包
① 使用"D:\Software\QGis-OSGeo4W\install\apps\Qt5\bin\windeployqt.exe"对exe进行打包
② 将"D:\Software\QGis-OSGeo4W\install\apps\qgis-ltr\bin"下所有.dll拷贝到exe目录下
③ 将"D:\Software\QGis-OSGeo4W\install\bin"下所有.dll拷贝到exe目录下
6、Vs运行效果、exe执行效果
Qt助手加入QGis接口说明文档
1、在QGis官方下载C++接口说明文档
2、演示助手加入QGis文档
关注
笔者 - jxd