Проблема с qgis, qt, c++
-
- Интересующийся
- Сообщения: 37
- Зарегистрирован: 14 июн 2015, 11:30
- Репутация: 0
Проблема с qgis, qt, c++
Доброго времени суток. Я новичок в qgis, да и что скрывать бог всё равно всё видит, в QT тоже. Стала задача вывести shape карту на QWidget и на карту вывести несколько точек по заданным LLA. Я очень долго собирал библиотеку по исходникам, было не просто. Собрал. Хотя потом позже установил пакет QGIS Weekly и нашёл там все необходимые .lib и .dll, но не в этом суть. Я не понимаю как реализовать поставленную задачу. Решил начать с самых вершков и начал собирать крупицы по интернету. В итоге запускаю проект с изменённой функцией main. В итоге приложение завершается крахом не успев запуститься. В дебагере я узнал что крах происходит после вызова функции QgsApplication app(argc, argv, true); . Ребят подскажите пожалуйста, как вообще реализовать поставленную задачу, нужно вывести на QWidget карту.
#include "mainwindow.h"
#include <QApplication>
#include <Qstring>
#include "qgsapplication.h"
int main(int argc, char *argv[])
{
QgsApplication app(argc, argv, true);
MainWindow w;
w.show();
return app.exec();
}
#include "mainwindow.h"
#include <QApplication>
#include <Qstring>
#include "qgsapplication.h"
int main(int argc, char *argv[])
{
QgsApplication app(argc, argv, true);
MainWindow w;
w.show();
return app.exec();
}
-
- Интересующийся
- Сообщения: 37
- Зарегистрирован: 14 июн 2015, 11:30
- Репутация: 0
Re: Проблема с qgis, qt, c++
Вообщем сделал всё как написано здесь:
http://freegis.fsv.cvut.cz/gwiki/QGIS_/ ... S_knihoven
Симптомы такие же, крах приложения при вызове QgsApplication app(argc, argv, true);
http://freegis.fsv.cvut.cz/gwiki/QGIS_/ ... S_knihoven
Симптомы такие же, крах приложения при вызове QgsApplication app(argc, argv, true);
-
- Интересующийся
- Сообщения: 37
- Зарегистрирован: 14 июн 2015, 11:30
- Репутация: 0
Re: Проблема с qgis, qt, c++
В общем решил проблему. Пересобрал QGis и библиотека ожила. Единственное появилась ещё одна ошибка в
При создании объекта MainWindow w; вываливается исключение, типа мол ты не создал объект QApplication
Вот. Не знаю, как побороть.
Код: Выделить всё
int main(int argc, char *argv[])
{
QgsApplication app(argc, argv, true);
MainWindow w;
w.show();
return app.exec();
}
-
- Интересующийся
- Сообщения: 37
- Зарегистрирован: 14 июн 2015, 11:30
- Репутация: 0
Re: Проблема с qgis, qt, c++
В общем сделал так:
Теперь вылетает после QgsApplication::initQgis(); Возможно я не правильно указал путь в prefixPath. Путь к чему это должен быть ?
Код: Выделить всё
int main(int argc, char *argv[])
{
QApplication a(argc, argv, true);
QString myPluginsDir = "C:\QGIS-git\src\plugins";
QString prefixPath = "C:\QGIS-git\src";
QgsApplication::setPluginPath( myPluginsDir );
QgsApplication::setPrefixPath( prefixPath, true);
QgsApplication::initQgis();
MainWindow wnd;
wnd.show();
int result = a.exec();
QgsApplication::exitQgis();
return result;
}
-
- Интересующийся
- Сообщения: 37
- Зарегистрирован: 14 июн 2015, 11:30
- Репутация: 0
Re: Проблема с qgis, qt, c++
Проблему решил. Пересобрал qgis с флагом Debag (было с RelWithDebInfo) и всё заработало.
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 6 гостей