Я пытаюсь создать простое приложение, используя 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.
Я ценю любую помощь, спасибо.