Deploy Qt5.2 plus MYSQL Win7 [SOLVED]
-
Zu "located in the dynamic link library Qt5Core.dll" gibt es Menge Einträge im Qt Forum u.a. - wenn ich das richtig sehe, bezieht es sich immer auf das Verteilen der App.exe auf andere Rechner.
Ich würde jetzt wie folgt vorgehen:
- Die Einträge zum Fehler überfliegen - vielleicht findest du den entscheidenden Hinweis.
- Die einfache Hello World auf einem Client installieren
3.1. Wenn die nicht läuft, Meldungen posten.
3.2. Zum Testen Qt auf einem Client installieren.
3.3. Hello World testen
-
Habe jetzt ein Hello World gemacht und dies auf den anderen Rechner gestartet. Nachdem ich alle fehlenden dll´s hinein kopiert habe bekomme ich folgende fehler Meldung
@This application failed to start because it could not find or load the Qt platform plugin "windows".
Reinstalling the application may fix this problem.@
-
Okay den Fehler konnte ich beseitigen indem ich im Ordner meiner exe Datei einen Ordner erstelle "platforms" in der ich die qwindows.dll kopiert habe. Nun läuft das Hello World auf einen anderen Rechner ohne Qt installation. Rechner ist mit i3 16GB RAM und Win7 64bit
-
Nehme ich jetzt diese Struktur für mein Datenbank programm her bekomme ich die Meldung:
@Das Programm kann nicht gestartet werden, da Qt5Sql.dll auf dem Computer fehlt. Installieren sie das Programm erneut , um das Problem zu beheben.@
Versuche jetzt mal mit der Qt5Sql.dll herum zu spielen.
P.S.: zu den .dll´s von oben: Sind alle von mingw...\bin Ordner
-
(Ich meine die qsqlmysql.dll und qsqlmysqld.dll.)
Wir müssen zuerst prüfen, ob die MYSQL plugins funktionieren, das heißt, wird versucht, die DB zu öffnen oder wird das plugin nicht gestartet. Das kannst du auf der Maschinen ohne Creator am einfachsten tun, indem du einige Ergebnisse der Schritte:
@
QSqlDatabase::addDatabase("QMYSQL");
mydb1.setHostName("10.211.55.6");
mydb1.setDatabaseName("test");
mydb1.setUserName("test");
mydb1.setPassword("server");
mydb1.setPort(3306);
mydb1.open()
@
mit QMessageBox ausgibst. -
So habe es jetzt heraus bekommen durch google und probieren.
Im Ordner in der die exe liegt legt man einen neuen ordner "sqldrivers" an und fügt folgende dll´s dort ein:libmysql.dll
qsqlmysql.dllUnd dann kann man die Appli. auf einem anderem Windows starten und man kommt auf die Datenbank.
Also hat man einen Ordner z.B. wie mein Projekt "Biodate" in der die exe Datei liegt erschafft man dort zwei ordner:
- Ordner "platforms" -> dort liegt die qwindows.dll
- Ordner "sqldrivers" -> dort liegt die libmysql.dll und die qsqlmysql.dll
Die restlichen .dll´s sagt einem das Windows dann schon wenn man versucht das Programm zu starten. Diese Dateien fügt man in den ordner in der sich die exe befindet ein.
Für was eine Nachtschicht immer so gut ist :-) extra aufm Laptop Ubuntu Server mit MySQL sowie 2x Win7 installiert und diese aufm OSX mit Parallels gleichzeitig laufen lassen :-)
Gruß und danke für die Hilfen :-)