2017-09-12 4 views
2

Ich versuche, eine benutzerdefinierte finden Datei zu erstellen QGIS Desktop-Anwendung mit Qt 5.9.1QGIS kann Header nicht

ich habe OSGeo4W (x64) Geoinformatik-Softwaresatz und die Github C++ QGIS samples aber ich bin vor ein Fehler bei der Kompilierung:

Cannot open include file: 'qgsmapcanvas.h': No such file or directory

Eigentlich keine der genannten Header-Dateien sind unter OSGeo4W Ordner:

#include <qgsapplication.h> 
#include <qgsproviderregistry.h> 
#include <qgssinglesymbolrenderer.h> 
#include <qgsmaplayerregistry.h> 
#include <qgsrasterlayer.h> 
#include <qgsmapcanvas.h> 

Aber ... sollten sie nicht in DLL-Bibliotheken sein (zB qgis_core, qgis_gui ...)?

Wie auch immer, dies ist mein * .pro Datei:

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: ein similar question auf stackiverflow ist, aber ich wiederholte es, weil die gegebenen Antworten nicht die Lösung gab

Antwort

0

Gelöst: die benötigte Header-Datei könnte im "qgis-dev" Zweig des Projekts gefunden werden.

OSGeo4W: Für Benutzer, die nicht können OSGeo4W aus irgendeinem Grund oder einfach nur lieber gibt es auch eine wöchentliche Schnappschuss von qgis-dev von OSGeo4W als standalone installer

Nach der Installation können Sie Header finden in:

C:/Program Files/QGIS 2.99/apps/qgis-dev/include 

das ist also meine .pro Datei

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 

Obwohl die Dateien jetzt vorhanden sind, kann ich immer noch nicht ausführen QGIS samples. Vielleicht gehe ich zu einem anderen Beispiel oder ich mache meine benutzerdefinierte Basisanwendung.

Verwandte Themen