binio hat geschrieben:[...]
Zudem glaube ich nicht das die drei Dateien Release "fähig" sind aufgrund der "...d.dll" und "...d4.a" -> Debug-Versionen.
Ich bekomme es auch nicht hin die nochmal zu kompilieren. Ich hatte schon das letzte mal vor monaten davon Alpträume bekommen[...]
Hallo!
Hast Du mal probiert, das Release-Makefile direkt anzugeben?
Und sonst habe ich mir mal ein kleines Memo geschrieben wie wich den MySQL-Treiber mit MinGW kompiliere.
Voraussetzung:
Über das MySQL-Server-Setup nur die "Development Components -> Client C API library" installieren.
Wichtig: Keine Leerzeichen im Installationspfad!
Beispiel-Verzeichnisse für dieses Memo:
MySQL-API-Library: C:\MySQL\Server\
Qt: C:\DevTools\QtSDK
Schritt #1:
Qt-Eingabeaufforderung (CMD) starten. Normalerweise existiert ein Eintrag im Startmenü unter "Qt SDK".
Schritt #2:
In das Source-Verzeichnis vom MySQL-Plugin wechseln.
C:\DevTools\QtSDK\QtSources\4.8.1\src\plugins\sqldrivers\mysql
Schritt #3:
Mit Hilfe von QMake die Makefiles des Projektes erstellen.
Befehl: qmake "INCLUDEPATH+=C:/MySQL/Server/include" "LIBS+=C:/MySQL/Server/lib/libmysql.lib" mysql.pro
Schritt #4:
Das MySQL-Plugin kompilieren. (Evtl. den gesamten Pfad zum Programm verwenden)
Befehl für die Release-Version: C:\DevTools\QtSDK\mingw\bin\mingw32-make.exe -f Makefile.Release
Befehl für die Debug-Version: C:\DevTools\QtSDK\mingw\bin\mingw32-make.exe -f Makefile.Debug
Schritt #5:
Die Datei "qsqlmysql4.dll" aus dem release-Verzeichnis und wenn kompiliert, die Datei "qsqlmysqld4.dll" aus dem Debug-Verzeichnis in das Standard-Plugin-Verzeichnis C:\DevTools\QtSDK\Desktop\Qt\4.8.1\mingw\plugins\sqldrivers kopieren.
Zusätzlich noch die "libmysql.dll" auf dem Verzeichnis C:\MySQL\Server\lib in das Verzeichnis C:\DevTools\QtSDK\Desktop\Qt\4.8.1\mingw\bin
kopieren, damit das Plugin erkannt wird und der MySQL-Client zur Verfügung steht.
Qt-Check: Mit dem Programmbefehl qDebug() << QSqlDatabase::drivers() sollte der Eintrag "QMYSQL" als Debug-Ausgabe angezeigt werden.
Ich hoffe, es hilft etwas...
Viele Grüße,
Markus