Установка 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")