Установка Qt 5.7 на openSUSE Leap 42.1
Скачиваем последнюю версию Qt для Linux:
wget http://download.qt.io/official_releases/online_installers/qt-unified-linux-x64-online.run
Делаем файл исполняемым
chmod +x qt-unified-linux-x64-online.run
Устанавливаем gcc, make и прочие необходимые библиотеки:
sudo zypper install --type pattern devel_basis
Далее устанавливаем Qt:
./qt-unified-linux-x64-online.run
Следуем указаниям графического инсталятора. Не забываем отметить пункт Source для установки исходных кодов библиотек.
Сборка IBASE SQL драйвера
Для сборки драйвера необходимы firebird development пакеты. Если они не установлены, то следует выполнить следующие команды для установки данных пакетов.
sudo zypper in libfbclient2-devel
После чего переходим в каталог с исходниками драйвера ibase, которые находятся в папке sql драйверов Qt.
cd <QtPath>/5.7/Src/qtbase/src/plugins/sqldrivers/ibase
После чего редактируем include файл проекта, поскольку в противном случае при сборке будут ошибки об отсутствии библиотек.
vi ../../../sql/drivers/ibase/qsql_ibase.pri
ищем строку
!contains(LIBS, .*gds.*):!contains(LIBS, .*libfb.*):LIBS += -lgds
изменяем ее на следующую
!contains(LIBS, .*gds.*):!contains(LIBS, .*lfb.*):LIBS += -lgds
После этого собираем и устанавливаем драйвер
<QtPath>/Qt/5.7/gcc_64/bin/qmake "INCLUDEPATH+=/usr/include/firebird" "LIBS+=-L/usr/lib64 -lfbclient" ibase.pro make make install
Проверка установленных драйверов
Для проверки установленных драйверов можно создать консольный проект Qt, в PRO-файле которого необходимо указать следующие модули Qt:
QT += core sql
main.cpp
Содержимое main.cpp файла будет следующим:
#include <QCoreApplication> #include <QtSql> int main(int argc, char *argv[]) { QCoreApplication a(argc, argv); qDebug() << "Доступные драйверы:" << QSqlDatabase::drivers(); return a.exec(); }
Вывод
В выводе qDebug() получаем информацию о доступных драйверах, среди которых должен быть драйвер QIBASE.
Доступные драйверы: ("QIBASE", "QSQLITE", "QMYSQL", "QMYSQL3", "QPSQL", "QPSQL7")