Qt/C++ - Lesson 053. Building IBASE SQL driver Qt 5.7 on openSUSE Leap 42.1

FireBird, IBASE, Leap, openSUSE, Qt, SQL

Installing Qt 5.7 on openSUSE Leap 42.1

Download the latest version of Qt in Linux:

wget http://download.qt.io/official_releases/online_installers/qt-unified-linux-x64-online.run

Making the file executable

chmod +x qt-unified-linux-x64-online.run

Install gcc, make, and other necessary libraries:

sudo zypper install --type pattern devel_basis

Next, install the Qt:

./qt-unified-linux-x64-online.run

Follow the instructions of the graphical installer. Do not forget to select the item of the Source code libraries.

Building IBASE SQL driver

To build the driver must be installed firebird development packages. If they are not installed, then the following command to install these packages must be performed.

sudo zypper in libfbclient2-devel

Then go to the directory with the source ibase drivers that are in the driver Qt sql folder.

cd <QtPath>/5.7/Src/qtbase/src/plugins/sqldrivers/ibase

Then edit the include file of project, because otherwise the building will be errors about missing libraries.

vi ../../../sql/drivers/ibase/qsql_ibase.pri

We look for the line

!contains(LIBS, .*gds.*):!contains(LIBS, .*libfb.*):LIBS += -lgds

and change it to the next

!contains(LIBS, .*gds.*):!contains(LIBS, .*lfb.*):LIBS += -lgds

After that, compile and install driver

<QtPath>/Qt/5.7/gcc_64/bin/qmake "INCLUDEPATH+=/usr/include/firebird" "LIBS+=-L/usr/lib64 -lfbclient" ibase.pro
make
make install

Checking the installed drivers

To check the drivers installed, you can create a console project Qt, PRO-file in which you must specify the following Qt modules:

QT += core sql

main.cpp

ontent main.cpp file will be as follows:

#include <QCoreApplication>
#include <QtSql>

int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);
    qDebug() << "Доступные драйверы:" << QSqlDatabase::drivers();

    return a.exec();
}

Output

The output qDebug () obtain information about the available drivers, including the driver must be QIBASE.

Доступные драйверы: ("QIBASE", "QSQLITE", "QMYSQL", "QMYSQL3", "QPSQL", "QPSQL7")
We recommend hosting TIMEWEB
We recommend hosting TIMEWEB
Stable hosting, on which the social network EVILEG is located. For projects on Django we recommend VDS hosting.
Support the author Donate

Comments

Only authorized users can post comments.
Please, Log in or Sign up
Donate

Hello, Dear Users of EVILEG!!!

If the site helped you, then support the development of the site financially, please.

You can do it by following ways:

Thank you, Evgenii Legotckoi

VZ
Nov. 17, 2019, 2:25 a.m.
Vladimir Zhitkovsky

Qt - Test 001. Signals and slots

  • Result:78points,
  • Rating points2
m
Nov. 17, 2019, 2:20 a.m.
masha16

C++ - Test 002. Constants

  • Result:50points,
  • Rating points-4
m
Nov. 17, 2019, 2:15 a.m.
masha16

C++ - Test 001. The first program and data types

  • Result:53points,
  • Rating points-4
Last comments
c
Nov. 17, 2019, 2:25 p.m.
cyberaxe77

Шикарно! Как обычно всё объясняется чётко, ясно и, по-возможности, кратко. Побольше бы контента по PyQt5...
GV
Nov. 16, 2019, 4:16 p.m.
Gibraltar Vol'framov

Разрешите узнать, как вы получили qt+qml приложение размером в 10мб(даже релизных). Дело в том, что пустое приложение, хоть и со стек вью, обходится мне на все 40мб пространства. Или же вы воспо…
b
Nov. 9, 2019, 8:28 a.m.
bastonc

спасибо ещё раз. огромное, за уделённое время
b
Nov. 9, 2019, 8:24 a.m.
bastonc

Спасибо Вам большое. Буду изучать.
Nov. 9, 2019, 5:58 a.m.
Evgenij Legotskoj

Добрый день. По первым двум вопросам вы найдёте ответ в этой статье - PyQt5 - Урок 008. Работа с QTableWidget (Обновление урока 006) Что касается последнего вопроса, то я вам…
Now discuss on the forum
Nov. 17, 2019, 12:30 p.m.
Mihail Sermjazhko

Взял этот код https://github.com/promixis/Code128/tree/master/src и сделал так m_Barcode = new Code128Item(); m_Barcode->setWidth( 200 ); m_Barcode->setHeight( 80 ); m_Barco…
s
Nov. 16, 2019, 5:58 a.m.
sladkoewka

Благодарю! Пойду читать всю эту документацию, чтобы понять, как это вообще работает и дальше мучать свой прогресс бар.
Nov. 15, 2019, 7:37 a.m.
Intruder

Евгений, почитав про эту проблему пришел к выводу, что либо нужно говорить очередь, либо все вернуть из библиотеки (dll в моем случае) в приложение, потому что в приложении все работает просто з…
Nov. 15, 2019, 6:06 a.m.
Evgenij Legotskoj

Ну тогда не знаю )) Я большую часть времени на C++ с Qt работаю, а PyQt5 у меня боком. Так что, чем можем помочь ))
H
Nov. 15, 2019, 5:18 a.m.
Hyperfish

Да, пробовал, с преобразованием int array[]={1,2,3,4,5,6,7} в jintArray(array). Если так, то программа компилируется без ошибок и предупреждений, но вываливается с ошибкой времени выполнени…
EVILEG
About
Services
© EVILEG 2015-2019
Recommend hosting TIMEWEB