QGIS找不到头文件

时间:2017-09-12 07:41:05

标签: c++ qt qgis osgeo

我尝试使用 Qt 5.9.1

创建自定义QGIS桌面应用程序

我已下载OSGeo4W(x64)地理空间软件集和Github C ++ QGIS samples,但我在编译时遇到错误:

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上有similar question,但我重复了一遍,因为给出的答案没有给出解决方案

1 个答案:

答案 0 :(得分:0)

已解决:可以在&#34; qgis-dev &#34;中找到所需的标题文件。该项目的一个分支。

  

OSGeo4W :对于因某些原因无法使用OSGeo4W或只是喜欢它的用户,还有来自OSGeo4W的qgis-dev的每周快照为standalone installer

安装完成后,您可以在以下位置找到标题:

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 samples。也许我会转移到其他样本,或者我会做我的自定义基本应用程序。