Доброе утро.
Скачал с Вашего сайта ГИС Конструктор, установил его, с помощью него и Qt Creator запустил проект myfirst.
В среде разработки всё работает хорошо, однако когда пытаюсь запустить получившийся исполняемый файл из командной строки, он не запускается и выдаётся ошибка сегментирования.
Если запускать программу в отладчике GDB, выдаётся следующее сообщение:
QList<QPrinter::PageSize>::QList (
this=0x7ffff3ad1538 <QPrinterInfoPrivate::shared_null+24>)
at ../. ./include/QtCore/. ./. ./src/corelib/tools/qlist.h:121
121 ../. ./include/QtCore/. ./. ./src/corelib/tools/qlist.h: Нет такого файла или каталога.
Такое впечатление, что криво установились либо Qt Creator либо ГИС конструктор.
Стоит отметить, что для того, чтобы проект запускался в среде разработки, пришлось отредактировать PRO-файл. Теперь он выглядит вот так:
[CODE]
SOURCES += main.cpp mainform1.cpp
HEADERS += mainform1.h
unix {
UI_DIR = .ui
MOC_DIR = .moc
OBJECTS_DIR = .obj
}
VERSION=1.0
DESTDIR=.
TARGET = myfirst
FORMS = form1.ui
TEMPLATE = app
#QMAKE_LFLAGS += -Wl,-rpath-link,$(GISDESIGNER_ROOT)/usr/lib
QMAKE_LFLAGS += -Wl,-rpath-link,/usr/lib
CONFIG += qt warn_on
QT += gui
#unix:INCLUDEPATH += $(GISDESIGNER_ROOT)/usr/include/gisdesigner
#unix:LIBS += -L$(GISDESIGNER_ROOT)/usr/lib -lqdmapacces -lmapcomponents -lqdobjnet -lqdlocalizations -lqdmapqtfrm -lqdmapmtrex -lqdmapvecex -lqdmapmath -ldl
INCLUDEPATH += /usr/include/gisdesigner
LIBS += -L/usr/lib/gisdesigner/qt5 -lqdmapacces -lmapcomponents -lqdobjnet -lqdlocalizations -lqdmapqtfrm -lqdmapmtrex -lqdmapvecex -lqdmapmath -ldl
LANGUAGE = C++
QT += opengl
greaterThan(QT_MAJOR_VERSION, 4) {
QT += widgets
}
[/CODE]
Суть изменений заключается в том, что пришлось убрать переменную GISDESIGNER_ROOT.
Допускаю, что это ошибочно, однако иначе проект не запускался.
Прошу помочь в решении данного вопроса
Использую ГИС конструктор для QT Designer, среда разработки Qt Creator 4.11.0, версия Qt 5.9.0, ОС Ubuntu 18.04.3 LTS.
Скачал с Вашего сайта ГИС Конструктор, установил его, с помощью него и Qt Creator запустил проект myfirst.
В среде разработки всё работает хорошо, однако когда пытаюсь запустить получившийся исполняемый файл из командной строки, он не запускается и выдаётся ошибка сегментирования.
Если запускать программу в отладчике GDB, выдаётся следующее сообщение:
QList<QPrinter::PageSize>::QList (
this=0x7ffff3ad1538 <QPrinterInfoPrivate::shared_null+24>)
at ../. ./include/QtCore/. ./. ./src/corelib/tools/qlist.h:121
121 ../. ./include/QtCore/. ./. ./src/corelib/tools/qlist.h: Нет такого файла или каталога.
Такое впечатление, что криво установились либо Qt Creator либо ГИС конструктор.
Стоит отметить, что для того, чтобы проект запускался в среде разработки, пришлось отредактировать PRO-файл. Теперь он выглядит вот так:
[CODE]
SOURCES += main.cpp mainform1.cpp
HEADERS += mainform1.h
unix {
UI_DIR = .ui
MOC_DIR = .moc
OBJECTS_DIR = .obj
}
VERSION=1.0
DESTDIR=.
TARGET = myfirst
FORMS = form1.ui
TEMPLATE = app
#QMAKE_LFLAGS += -Wl,-rpath-link,$(GISDESIGNER_ROOT)/usr/lib
QMAKE_LFLAGS += -Wl,-rpath-link,/usr/lib
CONFIG += qt warn_on
QT += gui
#unix:INCLUDEPATH += $(GISDESIGNER_ROOT)/usr/include/gisdesigner
#unix:LIBS += -L$(GISDESIGNER_ROOT)/usr/lib -lqdmapacces -lmapcomponents -lqdobjnet -lqdlocalizations -lqdmapqtfrm -lqdmapmtrex -lqdmapvecex -lqdmapmath -ldl
INCLUDEPATH += /usr/include/gisdesigner
LIBS += -L/usr/lib/gisdesigner/qt5 -lqdmapacces -lmapcomponents -lqdobjnet -lqdlocalizations -lqdmapqtfrm -lqdmapmtrex -lqdmapvecex -lqdmapmath -ldl
LANGUAGE = C++
QT += opengl
greaterThan(QT_MAJOR_VERSION, 4) {
QT += widgets
}
[/CODE]
Суть изменений заключается в том, что пришлось убрать переменную GISDESIGNER_ROOT.
Допускаю, что это ошибочно, однако иначе проект не запускался.
Прошу помочь в решении данного вопроса
Использую ГИС конструктор для QT Designer, среда разработки Qt Creator 4.11.0, версия Qt 5.9.0, ОС Ubuntu 18.04.3 LTS.