Reputation: 1730
Sorry to being a noob, but I just moved from Window, Eclipse and Java to OpenSUSE, C++ and Qt Creator, and I met a problem. I am working to create a QGIS application, I have the *.h files in /usr/include/gqis, and *.so files in /usr/lib. I added this line
INCLUDEPATH += /usr/local/include/qgis
at the end of .pro file of project so I can include QGIS library. So far as I coded, everything went smoothly, but when I built the project, Qt Creator threw an error:
qgis.h: No such file or directory
/usr/include/qgis/qgsapplication.h
and it mapped to line 4:
#include <QtGui/QApplication>
#include "mainwindow.h"
#include <qgis/qgsvectorlayer.h>
#include <qgis/qgsapplication.h>
#include <qgis/qgsproviderregistry.h>
#include <qgis/qgssinglesymbolrenderer.h>
#include <qgis/qgsmaplayerregistry.h>
#include <qgis/qgsvectorlayer.h>
#include <qgis/qgsmapcanvas.h>
As far as I searched, I am still unable to solve this problem. Please can anyone help me?
Upvotes: 3
Views: 15870
Reputation: 1
I'm using a windows Machine. I'm not sure why this is the case but if you put your project in a shallow directory, the problem might go away. Instead of something like C:\Projects\C++\IntroToDesignPatterns2012\Chapter13\objectBrowser02\objectBrowser02 Try something simple like C:\Projects\objectBrowser02
Upvotes: 0
Reputation: 4266
You should do:
INCLUDEPATH += /usr/local/include/qgis
and
#include <QtGui/QApplication>
#include "mainwindow.h"
#include <qgsvectorlayer.h>
#include <qgsapplication.h>
#include <qgsproviderregistry.h>
#include <qgssinglesymbolrenderer.h>
#include <qgsmaplayerregistry.h>
#include <qgsvectorlayer.h>
#include <qgsmapcanvas.h>
Upvotes: 4
Reputation: 104020
Try just:
INCLUDEPATH += /usr/local/include/
Afterall, the qgis
is already listed in the #include <qgis/...>
path.
Upvotes: 2