Bereitstellung der notwendigen Treiber
Ein typisches Symptom beim Versuch, mit Qt eine Verbindung zu MySQL/MariaDB herzustellen, aber ohne das erforderliche Plugin, ist der Laufzeitfehler
QSqlDatabase: QMYSQL driver not loaded
QSqlDatabase: available drivers: QMYSQL
Da die Qt Company qsqlmysql.dll / libqsqlmysql.so nicht in binärer Form
bereitstellen kann, müssen Sie es selbst erstellen, was mühsam sein
kann. Hier ist ein Build für verschiedene Qt-Versionen. Holen Sie
sich die vorkompilierte Datei qsqlmysql.dll für Windows bzw.
libqlmysql.so für Linux aus den jeweiligen Versionen . Stellen Sie sicher, dass Ihre Qt-Version und Ihr Compiler (Microsoft Visual C++/MSVC, MinGW) GENAU übereinstimmen . Wenn Sie beispielsweise Qt 6.4.2 verwenden, können Sie die Treiberversion 6.4.1 oder 6.4.3 nicht verwenden
Neueste Qt6-Version: Download für Qt 6.7.1 hier
Neueste Open-Source-Qt5-Version: Download für Qt 5.15.7 hier
Für Android siehe Drittanbieter-Repository https://github.com/sayyyed/qt_android_mysql_driver/releases/tag/qt_mysql_driver_for_android
- Kopieren Sie qsqlmysql.dll (Release-Build) / MSVC: qsqlmysqld.dll, MinGW: qsqlmysql.dll+qsqlmysql.debug (Debug-Build) in das Unterverzeichnis „sqldrivers“ des Anwendungsverzeichnisses (oder Build-Verzeichnis während der Entwicklung).
Kopieren Sie libmysql.dll (MySQL-Bibliothek) und die libcrypto/libssl OpenSSL-Bibliotheken aus der ZIP-Datei (oder von https://dev.mysql.com bzw. https://kb.firedaemon.com/support/solutions/articles/4000121705 ). in das Anwendungsverzeichnis (oder allgemeiner in jedes Verzeichnis, das in der Umgebungsvariablen PATH registriert ist)