Qt 5.2.1 MySQL SQL Driver installieren [SOLVED]
-
Die lib werden benötigt, um das plugin zu erstellen.
Das plugin besteht aus den DLLs: qsqlmysql4.dll und qsqlmysqld4.dll
Wenn du die nicht hast, musst du sie bauen (s.o. Qt 5.2 -> Qt SQL -> SQL Database Drivers). Die DLLs müssen exakt zu deiner Systemumgebung passen, daher sollten sie stets in der passenden Konfiguration erstellt werden. -
@qmake "INCLUDEPATH+=C:/MySQL/include" "LIBS+=C:/MYSQL/MySQL Server <version>/lib/opt/libmysql.lib" mysql.pro@
Hab diesen Befehl ausführen wollen und es kam als Meldung:
'qmake' is not recognized as an internal or external comman, operable program or batch file
und befinde mich in folgenden ordner:
c:\Qt\5.2.1\Src\qtbase\src\plugins\sqldrivers\mysql
-
-
Sieht schon nicht schlecht aus!
Path ist eine Systemvariable in Windows, die den Suchpfad enthält.
Ein Programm wie qmake.exe wird im cmd-Fenster nur dann gefunden, wenn es in einem Verzeichnis steht, auf das "Path" verweist.
Die Variable "Path" musst du wie folgt bearbeiten:
bq.
Systemsteuerung
->System und Sicherheit
->System
->Erweiterte Systemeinstellungen
->Umgebungsvariablen
->Systemvariablenin der Listbox Path auswählen und dann:
Bearbeiten
ans Ende der Zeile ein Semikolon und den gesamten Pfad eintragen
(Bsp. ;C:\Qt5.2.1\5.2.1\mingw48_32) -
Befinde mich nun im folgenden Pfad
C:\Qt\5.2.1\Src\qtbase\src\plugins\sqldrivers\mysql
und habe danach folgendes eingegeben
qmake "INCLUDEPATH+=C:/MySQL/include" "LIBS+=C:/mysql/MySQL Server 5.6/lib/libmysql.lib" mysql.pro
Danach hat er mir nur wieder den Pfad angezeigt ohne irgendwelche Meldung
-
Führe ich folgendes Projekt aus:
@QSqlDatabase mydb1 = QSqlDatabase::addDatabase("QMYSQL");
mydb1.setHostName("10.211.55.6");
mydb1.setDatabaseName("test");
mydb1.setUserName("test");
mydb1.setPassword("server");
mydb1.setPort(3306);if(!mydb1.open()) { cout << "Database Error"; return false; } else { cout << "Database true"; return true; }@
Und in der pro habe sql mit qmake gemacht
-
Die dlls müssen in C:\Qt\Qt5.2.0\5.2.1\mingw48_32\plugins\sqldrivers liegen. (evtl. C:\Qt\Qt5.2.0\5.2.1 gegen den entsprechenden Pfadnamen deines Rechners austauschen)
Wenn das nicht funktionieren sollte (was meist an Problemen mit der Path-Variablen liegt) kannst du auch ein Unterverzeichnis sqldrivers unter dem Build-Verzeichnis anlegen, das im Creator unter Projekte definiert ist (z.B. QBUILD\debug\meinprojekt), und die dlls auch dahin kopieren.
Das ist zwar nicht elegant aber zum Testen ggf. sinnvoll. -
Also im Pfad:
C:\Qt\5.2.1\mingw48_32\plugins\sqldrivers
liegen folgende Treiber:
qsqlite.dll
qsqlited.dll
qsqlmysql.dll
qsqlmysqld.dll
qsqllodbc.dll
qsqllodbcd.dll
qsql.psql.dll
qsqlpsqld.dllHabe es jetzt in den Ordner build-<meinProjekt>/debug/sqldrivers kopiert und das projekt bereinigt und qmake ausgeführt. leider immer noch mit der Meldung das er die Treiber nicht laden konnte