Я пытаюсь создать собственное настольное приложение 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, но я повторил это, потому что ответы не дали решения
решаемая: нужный заголовочный файл может быть найден вQGIS-DEVфилиал проекта.
OSGeo4W : Для пользователей, которые по какой-то причине не могут использовать OSGeo4W или просто предпочитают его, есть также еженедельный снимок qgis-dev из OSGeo4W как автономный установщик
После установки вы можете найти заголовок в:
C:/Program Files/QGIS 2.99/apps/qgis-dev/include
Так что это мой .профессионал файл
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. Может быть, я перейду к другому образцу или я сделаю свое основное приложение.
Других решений пока нет …