我正在尝试使用QGIS SDK创建一个简单的应用程序。但是目前,我在起步阶段就一直坚持使用API。 下面是环境。
Windows 7
MSVC 2015
QGIS SDK(由OSGeo4w下载)包括: qgis-dev(3.2.3) Qt5(5.9)
here is the OSGeo4w/app directory
并首先创建一个空项目,属性设置:
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
测试代码非常简单:
main.cpp
#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)
here is the build error messages
有人可以给我一个建议吗?我很难理解API的工作方式,而且文档很少。和有关的资源 互联网上甚至在QGIS官方网站上的QGIS C ++开发。
谢谢您的帮助。