QGIS не может найти файл заголовков

Я пытаюсь создать собственное настольное приложение QGIS с Qt 5.9.1

Я скачал набор геопространственного программного обеспечения OSGeo4W (x64) и примеры Github C++ QGIS, но во время компиляции я столкнулся с ошибкой:

Cannot open include file: 'qgsmapcanvas.h': No such file or directory

На самом деле ни один из вышеуказанных файлов заголовков не находится в папке OSGeo4W:

#include <qgsapplication.h>
#include <qgsproviderregistry.h>
#include <qgssinglesymbolrenderer.h>
#include <qgsmaplayerregistry.h>
#include <qgsrasterlayer.h>
#include <qgsmapcanvas.h>

Но... разве они не должны быть в библиотеках dll (например, qgis_core, qgis_gui ...)?

В любом случае, это мой *.pro файл:

TEMPLATE = app
TARGET = qgis_example4
QT = sql network svg gui core xml
LANGUAGE= C++

INCLUDEPATH +=  "C:\\OSGeo4W64\\include"

LIBS += -L"C:\\OSGeo4W64\\apps\\qgis\\bin" -lqgis_core -lqgis_gui -lgdal_i -lgeos_c

DEFINES+=CORE_EXPORT=__declspec(dllexport)
DEFINES+=GUI_EXPORT=__declspec(dllexport)

CONFIG += qt gui exceptions stl warn_on debug thread

RESOURCES += resources.qrc

FORMS += mainwindowbase.ui

HEADERS = mainwindow.h

SOURCES = main.cpp \
              mainwindow.cpp

PS: есть похожий вопрос на stackiverflow, но я повторил его, потому что ответы не дали решения

1 ответ

Решено: необходимый файл заголовков можно найти в ветке " qgis-dev " проекта.

OSGeo4W: Для пользователей, которые по какой-то причине не могут использовать OSGeo4W или просто предпочитают его, есть также еженедельный снимок qgis-dev из OSGeo4W в качестве автономного установщика

После установки вы можете найти заголовок в:

C:/Program Files/QGIS 2.99/apps/qgis-dev/include

Так что это мой .pro файл

TEMPLATE = app
TARGET = qgis_example4
QT = sql network svg gui core xml
LANGUAGE= C++


INCLUDEPATH += "C:/Program Files/QGIS 2.99/include"
INCLUDEPATH += "C:/Program Files/QGIS 2.99/apps/qgis-dev/include"

LIBS += -L"C:/Program Files/QGIS 2.99/apps/qgis-dev/bin" -lqgis_core -lqgis_gui

DEFINES+=CORE_EXPORT=__declspec(dllexport)
DEFINES+=GUI_EXPORT=__declspec(dllexport)

CONFIG += qt gui exceptions stl warn_on debug thread

RESOURCES += resources.qrc

FORMS += mainwindowbase.ui

HEADERS = mainwindow.h

SOURCES = main.cpp \
          mainwindow.cpp

Хотя файлы сейчас присутствуют, я все еще не могу запустить образцы QGIS. Может быть, я перейду к другому образцу или я сделаю свое основное приложение.

Другие вопросы по тегам