找不到 qgsapplication.h 和其他头文件
Cannot find qgsapplication.h and other header files
我正在使用QtCreator和QGIS 2.6来构建一个独立的C++应用程序。
我遇到的问题是项目找不到所有必要的头文件。
我的 .pro 文件如下所示:
QT += core gui xml
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
TARGET = TestQgis2
TEMPLATE = app
SOURCES += main.cpp
#HEADERS +=YOUR HEADERS
#FORMS += YOUR FORMS
#RESOURCES += images/images.qrc
win32:CONFIG(Release, Debug|Release) {
LIBS += -L"C:/Program Files (x86)/QGIS Brighton/lib/" -lQtCore4
LIBS += -L"C:/Program Files (x86)/QGIS Brighton/lib/" -lQtGui4
LIBS += -L"C:/Program Files (x86)/QGIS Brighton/lib/" -lQtXml4
LIBS += -L"C:/Program Files (x86)/QGIS Brighton/apps/qgis/bin/" -lqgis_core
LIBS += -L"C:/Program Files (x86)/QGIS Brighton/apps/qgis/bin/" -lqgis_gui
}
else:win32:CONFIG(Debug, Debug|Release) {
PRE_TARGETDEPS += C:/Program Files (x86)/QGIS Brighton/lib/QtCored4.lib
PRE_TARGETDEPS += C:/Program Files (x86)/QGIS Brighton/lib/QtGuid4.lib
PRE_TARGETDEPS += C:/Program Files (x86)/QGIS Brighton/lib/QtXmld4.lib
LIBS += -L"C:/Program Files (x86)/QGIS Brighton/lib/" -lQtCored4
LIBS += -L"C:/Program Files (x86)/QGIS Brighton/lib/" -lQtGuid4
LIBS += -L"C:/Program Files (x86)/QGIS Brighton/lib/" -lQtXmld4
LIBS += -L"C:/Program Files (x86)/QGIS Brighton/apps/qgis/bin/" -lqgis_core
LIBS += -L"C:/Program Files (x86)/QGIS Brighton/apps/qgis/bin/" -lqgis_gui
}
win32:{
INCLUDEPATH += C:/Program Files (x86)/QGIS Brighton/include
DEPENDPATH += C:/Program Files (x86)/QGIS Brighton/include
# INCLUDEPATH += C:/OSGeo4W/apps/qgis-dev/include
# DEPENDPATH += C:/OSGeo4W/apps/qgis-dev/include
DEFINES += GUI_EXPORT=__declspec(dllimport) CORE_EXPORT=__declspec(dllimport)
}
unix {
LIBS += -L/usr/local/lib/ -lqgis_core -lqgis_gui
LIBS += -L/usr/local/lib/qgis/plugins/ -lgdalprovider
INCLUDEPATH += /usr/local/include/qgis
DEFINES += GUI_EXPORT= CORE_EXPORT=
}
在我的程序中,找不到以下标头:
#include "<"qgsapplication.h">"
#include "<"qgsproviderregistry.h">"
#include "<"qgssinglesymbolrenderer.h">"
#include "<"qgsmaplayerregistry.h">"
#include "<"qgsvectorlayer.h">"
#include "<"qgsmapcanvas.h">"
从已安装的qgis文件夹中,我找不到上述任何头文件。
任何帮助,不胜感激。
要调试您的应用程序,我认为您必须在项目文件中添加 RelWithDebInfo 模式:
QT += core gui xml
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
TARGET = TestQgis2
TEMPLATE = app
SOURCES += main.cpp
#HEADERS +=YOUR HEADERS
#FORMS += YOUR FORMS
#RESOURCES += images/images.qrc
win32:CONFIG(Release, Debug|Release, RelWithDebInfo) {
LIBS += -L"C:/OSGeo4W/apps/qgis/lib/" -lQtCore4
LIBS += -L"C:/OSGeo4W/apps/qgis/lib/" -lQtGui4
LIBS += -L"C:/OSGeo4W/apps/qgis/lib/" -lQtXml4
LIBS += -L"C:/OSGeo4W/apps/qgis/bin/" -lqgis_core
LIBS += -L"C:/OSGeo4W/apps/qgis/bin/" -lqgis_gui
}
else:win32:CONFIG(Debug, Debug|Release, RelWithDebInfo) {
PRE_TARGETDEPS += C:/OSGeo4W/lib/QtCored4.lib
PRE_TARGETDEPS += C:/OSGeo4W/lib/QtGuid4.lib
PRE_TARGETDEPS += C:/OSGeo4W/lib/QtXmld4.lib
LIBS += -L"C:/OSGeo4W/lib/" -lQtCored4
LIBS += -L"C:/OSGeo4W/lib/" -lQtGuid4
LIBS += -L"C:/OSGeo4W/lib/" -lQtXmld4
LIBS += -L"C:/OSGeo4W/apps/qgis/bin/" -lqgis_core
LIBS += -L"C:/OSGeo4W/apps/qgis/bin/" -lqgis_gui
}
win32:{
INCLUDEPATH += C:/OSGeo4W/include
DEPENDPATH += C:/OSGeo4W/include
# INCLUDEPATH += C:/OSGeo4W/apps/qgis/include
# DEPENDPATH += C:/OSGeo4W/apps/qgis/include
DEFINES += GUI_EXPORT=__declspec(dllimport) CORE_EXPORT=__declspec(dllimport)
}
unix {
LIBS += -L/usr/local/lib/ -lqgis_core -lqgis_gui
LIBS += -L/usr/local/lib/qgis/plugins/ -lgdalprovider
INCLUDEPATH += /usr/local/include/qgis
DEFINES += GUI_EXPORT= CORE_EXPORT=
}
哪
一个是第 28 行?
如果是这样:
win32:CONFIG(Release, Debug|Release, RelWithDebInfo)
您可以将其替换为:
win32:CONFIG(Release, RelWithDebInfo|Release)
并替换它:
else:win32:CONFIG(Debug, Debug|Release, RelWithDebInfo)
跟:
else:win32:CONFIG(RelWithDebInfo, RelWithDebInfo|Release)
因为 Qgis ant Qt 库是用发布模式编译的,所以如果你想调试你的应用程序,你必须使用 RelWithDebInfo 模式
相关文章:
- 在其他文件中创建类时在 c++ 项目中不起作用
- 我应该将除 .cpp 以外的其他文件添加到 git 中吗?
- 如何在其他文件中使用函数
- C++ - 忽略并从其他文件获取数据
- CMake:在其他目录中找不到我的头文件
- 无法使用 CMake 从其他文件夹添加源文件
- 如何使用 C/C++ 和 system() 系统调用以外的其他方法在 Linux 中获取文件功能?
- 从文件中查找单词并替换到其他文件中
- 在命名空间中声明变量,在 main 中定义它,使其对所有其他文件可见
- 没有头文件如何使用c ++调用其他模块中的函数?
- 访问从 CPP 文件到其他头文件的静态变量
- 不能在其他文件中包含结构
- 无法打开包含文件'Graphics.hpp'没有这样的文件或目录,Visual Studio的其他包含不起作用
- 如何在 Linux 下使用 c++ 知道文件是否被其他进程使用?
- 使用函数打开文件,然后让其他函数利用该文件?
- 如何使用Winforms C#或C++.Net在不更改文件中其他内容的情况下修改jpg文件中的Orientation e
- 如何调试visual studio 2017生成的C++代码.android中的SO文件和其他第三方库
- 如何使用QXmlStreamReader解析包含对其他XML文件的引用的XML文件
- 如何在不受其他文件影响的情况下"by itself" Visual Studio 项目中运行C++文件?
- 如何将 cpp 文件中的静态函数公开给其他文件