2017-09-12 6 views
2

ファイルを検索することができない私はOSGeo4W(x64)の地理空間ソフトウェアのセットとGithubのC++ QGIS samplesをダウンロードしているが、私が直面してるのQt 5.9.1QGISはヘッダが、私はカスタムを作成しようとしている

とデスクトップアプリケーションを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:そこsimilar questionがstackiverflowであるが、与えられた答えは、ソリューションに

答えて

0

を与えなかったので、私はそれを繰り返し解決済みの:必要なヘッダファイルは、プロジェクトの "qgis-dev"ブランチ内にあります。

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を実行できません。たぶん私は他のサンプルに移動するか、自分のカスタム基本アプリケーションを実行します。

関連する問題