努力解决QGIS C ++ API

时间:2018-10-09 06:11:27

标签: c++ qgis

我正在尝试使用QGIS SDK创建一个简单的应用程序。但是目前,我在起步阶段就一直坚持使用API​​。 下面是环境。

Windows 7

MSVC 2015

QGIS SDK(由OSGeo4w下载)包括:     qgis-dev(3.2.3)     Qt5(5.9)

here is the OSGeo4w directory

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 ++开发。

谢谢您的帮助。

0 个答案:

没有答案