Борьба с QGIS C ++ API - PullRequest
       13

Борьба с QGIS C ++ API

0 голосов
/ 09 октября 2018

Я пытаюсь создать простое приложение, используя QGIS SDK.Но в настоящее время я застрял с API на самой начальной стадии.ниже приведены env.

Windows 7

MSVC 2015

QGIS SDK (загружено OSGeo4w) включает в себя: qgis-dev (3.2.3) Qt5 (5.9)

вот каталог OSGeo4w

вот каталог OSGeo4w / app

И начнем с создания пустого проекта, настройки свойств:

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)

вот сообщения об ошибках сборки

Может кто-нибудь дать мне предложение? У меня есть некоторые трудности, чтобы понять, как API показываетЯ работаю, и там действительно мало документов.и ресурс о разработке QGIS C ++ в Интернете, даже на официальном сайте QGIS.

Я ценю любую помощь, спасибо.

...