c++ - 与 QGIS C++ API 斗争
问题描述
我正在尝试使用 QGIS SDK 创建一个简单的应用程序。但目前,我在最初阶段就被 API 困住了。下面是环境。
Windows 7的
MSVC 2015
QGIS SDK(由 OSGeo4w 下载)包括:qgis-dev(3.2.3) Qt5(5.9)
首先创建一个空项目,属性设置:
C/C++ -> 常规 -> 附加包含目录
C:\OSGeo4W\apps\Qt5\include
C:\OSGeo4W\apps\Qt5\include\QtCore
C:\OSGeo4W\apps\Qt5\include\QtGui
C:\OSGeo4W\apps\Qt5\include\QtWidgets
C:\OSGeo4W\apps\Qt5\include\QtXml
C:\OSGeo4W\apps\qgis-dev\include
C:\OSGeo4W\include
链接器 -> 常规 -> 附加库目录
C:\OSGeo4W\apps\Qt5\lib
C:\OSGeo4W\apps\qgis-dev\lib
链接器 -> 输入 -> 附加依赖项
qtmaind.lib
Qt5Cored.lib
Qt5Guid.lib
Qt5Widgetsd.lib
qgis_core.lib
qgis_app.lib
qgis_gui.lib
测试代码很简单:
主文件
#include <QtWidgets/QApplication>
#include <qgsapplication.h>
int main(int argc, char *argv[])
{
QgsApplication a(argc, argv, true);
// QgsApplication::setPrefixPath("C:/path/to/OSGeo4W64/apps/qgis", true);
// QgsApplication::initQgis();
// ImageViewer w;
// w.show();
return a.exec();
}
但是,当我构建它时发生了错误,
(1)构造函数“QgsMapUnitScale::QgsMapUnitScale”的实例不匹配参数列表(qgsrendercontext.h)
(2)“M_PI”:未声明的标识符(qgsabstractgeometry.h)
谁能给我一个建议?我很难理解 API 应该如何工作,而且文档很少。和关于 QGIS C++ 开发的资源在互联网上,甚至在 QGIS 官方网站上。
我感谢任何帮助,谢谢。
解决方案
推荐阅读
- python - Django多个数据库取决于模型
- r - 为 gemo_polygon 数据添加图例到 ggmap
- amazon-web-services - 仅从 S3 复制到 Redshift 的特定文件没有清单文件过程
- regression - 负二项式回归:系数解释
- android - 在 zxing 应用程序中禁用反向图像扫描
- html - PUT 请求未将 HTML 表单数据作为对象传递
- .net - 从加载的程序集中执行方法
- jdbc - Confluent 控制中心在尝试创建连接源时不会给出响应
- r - Plotly:如何从刻度标签中删除前导 0
- javascript - AWS - 对 EC2 实例上的 Python 脚本的 AJAX 请求