我正在尝试使用Qt 5.9.1创建自定义 QGIS 桌面应用程序
我已经下载了 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上有一个类似的问题,但我重复了一遍,因为给出的答案没有给出解决方案