Проблема с qgis, qt, c++

Вопросы по свободной ГИС QGIS. Сообщения об ошибках, предложения по улучшению, локализация.
Ответить
Acrobat
Интересующийся
Сообщения: 37
Зарегистрирован: 14 июн 2015, 11:30
Репутация: 0

Проблема с qgis, qt, c++

Сообщение Acrobat » 26 фев 2016, 15:48

Доброго времени суток. Я новичок в 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();
}

Acrobat
Интересующийся
Сообщения: 37
Зарегистрирован: 14 июн 2015, 11:30
Репутация: 0

Re: Проблема с qgis, qt, c++

Сообщение Acrobat » 26 фев 2016, 17:57

Вообщем сделал всё как написано здесь:
http://freegis.fsv.cvut.cz/gwiki/QGIS_/ ... S_knihoven
Симптомы такие же, крах приложения при вызове QgsApplication app(argc, argv, true);

Acrobat
Интересующийся
Сообщения: 37
Зарегистрирован: 14 июн 2015, 11:30
Репутация: 0

Re: Проблема с qgis, qt, c++

Сообщение Acrobat » 27 фев 2016, 15:15

В общем решил проблему. Пересобрал QGis и библиотека ожила. Единственное появилась ещё одна ошибка в

Код: Выделить всё

int main(int argc, char *argv[])
{
      QgsApplication app(argc, argv, true);

      MainWindow w;
      w.show();

      return app.exec();
}
При создании объекта MainWindow w; вываливается исключение, типа мол ты не создал объект QApplication
Снимок.JPG
Снимок.JPG (28.29 КБ) 3887 просмотров
Вот. Не знаю, как побороть.

Acrobat
Интересующийся
Сообщения: 37
Зарегистрирован: 14 июн 2015, 11:30
Репутация: 0

Re: Проблема с qgis, qt, c++

Сообщение Acrobat » 27 фев 2016, 15:38

В общем сделал так:

Код: Выделить всё

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;
}
Теперь вылетает после QgsApplication::initQgis(); Возможно я не правильно указал путь в prefixPath. Путь к чему это должен быть ?

Acrobat
Интересующийся
Сообщения: 37
Зарегистрирован: 14 июн 2015, 11:30
Репутация: 0

Re: Проблема с qgis, qt, c++

Сообщение Acrobat » 27 фев 2016, 18:54

Проблему решил. Пересобрал qgis с флагом Debag (было с RelWithDebInfo) и всё заработало.

Ответить

Вернуться в «QGIS»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 7 гостей