Beschlossen, Qt zu aktualisieren. Dies erfordert jedes Mal eine Neuinstallation der Treiber für die Arbeit mit Datenbanken.
Ich beschloss, die Abfolge der Aktionen aufzuschreiben.
Ich hoffe, ich erspare jemandem ein paar Stunden. :-)
Installieren Sie Qt 5.11.
Die Qt-Dokumentation sagt:
> So erstellen Sie das QIBASE-Plugin unter Unix und macOS
>
> Folgendes setzt voraus, dass InterBase oder Firebird in /opt/interbase installiert ist:
>
> Wenn Sie Firebird verwenden, muss die Firebird-Bibliothek explizit gesetzt werden:
>
> cd $QTDIR/qtbase/src/plugins/sqldrivers
> qmake -- IBASE_PREFIX=/opt/interbase IBASE_LIBS=-lfbclient
> Grundplatten erstellen
>
>
>
Aber alles ist nicht so einfach.
Wenn Sie SuSE lernen, befinden sich die Fierbird-Header-Dateien in /usr/include/firebird.
Damit qmake läuft, müssen Sie es zu .bashrc hinzufügen
PATH=$PATH:~/Qt5.11.0/5.11.0/gcc_64/bin export PATH
Melden Sie sich erneut an oder öffnen Sie eine neue Konsole.
Gehen Sie in den Ordner mit den Treibern.
cd ~/Qt5.11.0/5.11.0/Src/qtbase/src/plugins/sqldrivers
Nun der Unterschied zur Dokumentation:
qmake -- IBASE_INCDIR=/usr/include/firebird IBASE_LIBS=-lfbclient
Wenn Sie das tun, was in der Dokumentation angegeben ist, passiert nichts :-)
Wir erhalten Folgendes:
Info: creating stash file /home/rust/Qt5.11.0/5.11.0/Src/qtbase/src/plugins/sqldrivers/.qmake.stash Running configuration tests... Checking for DB2 (IBM)... no Checking for InterBase... yes Checking for MySQL... yes Checking for OCI (Oracle)... no Checking for ODBC... no Checking for PostgreSQL... no Checking for SQLite (version 2)... no Checking for TDS (Sybase)... no Done running configuration tests. Configure summary: Qt Sql: DB2 (IBM) .............................. no InterBase .............................. yes MySql .................................. yes OCI (Oracle) ........................... no ODBC ................................... no PostgreSQL ............................. no SQLite2 ................................ no SQLite ................................. yes Using system provided SQLite ......... no TDS (Sybase) ........................... no Qt is now configured for building. Just run 'make'. Once everything is built, Qt is installed. You should NOT run 'make install'. Note that this build cannot be deployed to other machines or devices. Prior to reconfiguration, make sure you remove any leftovers from the previous build.
Für den Interbase-Treiber ist die Konfiguration fertig.
Weiter...
make sub-ibase
Beim Kompilieren erhalten wir einen Fehler:
g++: error: unrecognized command line option ‘-std=c++1z’ g++: error: unrecognized command line option ‘-Wdate-time’
Sie können googeln….
Wechseln Sie in das ibase-Verzeichnis.
Öffnen Sie das Makefile im Editor.
Ändern Sie -std=c++1z an zwei Stellen in -std=c++11.
Und in den gleichen Zeilen löschen wir -Wdate-time.
Wir speichern die Datei.
Gehen Sie in das Verzeichnis oben und wiederholen Sie:
make sub-ibase
Hurra! Er hat sich fertig gemacht.
Nun zur Installation...
make sub-ibase-install_subtargets
Treiber kann verwendet werden.
Hier sind die Tänze mit Tamburinen.