QGIS找不到标题文件

QGIS cannot find headers file

本文关键字:文件 标题 找不到 QGIS      更新时间:2023-10-16

我正在尝试使用 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>

但是。。。。。。。。。。。。。。。。。。。。。。

无论如何,这是我的*。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的用户,或者只是更喜欢它,也有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样本。也许我会转到其他示例,否则我会进行自定义基本应用程序。