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