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")
Virtual hosting with 10 percent discount
Virtual hosting with 10 percent discount
EVILEG offers reliable hosting with a 10% discount for virtual hosting and 5% for VPS
Support the author Donate

Comments

Only authorized users can post comments.
Please, Log in or Sign up
G
July 23, 2019, 3:47 a.m.
G0tzef

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

  • Result:66points,
  • Rating points-1
AS
July 22, 2019, 4:32 p.m.
Aleksandr Spiridonov

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

  • Result:46points,
  • Rating points-6
AS
July 22, 2019, 4:21 p.m.
Aleksandr Spiridonov

Qt - Test 001. Signals and slots

  • Result:73points,
  • Rating points1
Last comments
July 23, 2019, 12:14 p.m.
IscanderChe

Вот ссылка: https://github.com/iscander-che/TestReportViewer .
July 23, 2019, 5:42 a.m.
Evgenij Legotskoj

Хорошо, хотя конечно это С, а не С++ )))) Но если вдруг будут проблемы, то решение через класс со статическими переменными вы видели ))
July 23, 2019, 5:33 a.m.
IscanderChe

"Не потребует каждый раз объявлять extern в других файлах". И так не требует. У меня в тестовом классе эти переменные используются без дополнительного объявления. Так же объявил их в cpp-файле о…
July 23, 2019, 5:28 a.m.
IscanderChe

В репозиторий могу сегодня вечером выложить. "Или ее надо компилить самому под дистриб?" Тут я не совсем понимаю, что вы имеете ввиду. Я выложу в репозиторий исходный код утилиты, и всё.
July 23, 2019, 4:32 a.m.
Evgenij Legotskoj

Есть комментарий по вашему коду. Лучше бы вместо глобальных переменных в стиле Си, то есть с использоавнием extern, написали бы статические переменные в рамках класса. IMHO - это будет выглядеть…
Now discuss on the forum
July 23, 2019, 10:36 a.m.
Evgenij Legotskoj

Добрый день. Возможно, что проблема в поддержке OpenGL на виртуальной машине.
July 23, 2019, 8:20 a.m.
Mihailll

Так работает QFile f1(dbAdress); f1.setPermissions(QFileDevice::WriteOther);
July 23, 2019, 7:11 a.m.
Pavel K.

Советую использовать нечто такое или такое
July 22, 2019, 10:50 a.m.
Pavel K.

Благодарю.Буду пробовать.
Looking for a Job?
5,000.00 руб. - 15,000.00 руб.
Дизайнер
Moskovskiy, Moscow, Russia
25,000.00 руб. - 30,000.00 руб.
Разработчик Qt/C++
Barnaul, Altai Krai, Russia

For registered users on the site there is a minimum amount of advertising

EVILEG
About
Services
Join us
© EVILEG 2015-2019
Recommend hosting TIMEWEB