Seite 1 von 1

QT: MySQL als Plugin

Verfasst: 22. Mai 2011 17:31
von julian-w
Hallo,

ich verzweifele momentan daran, MySQL zum laufen zu kriege...
(und später wollte ich noch PostgreSQL einbinden, aber bei dem Stress lass ich das lieber bleiben)

Nun scheint man das ja auch einfach mittels PlugIn einbinden zu könne, ohne QT komplett neu kompilieren zu müssen. Von daher wollte ich fragen, ob mir nicht einfach das PlugIn schicken könnte?
Ich nutze das QT SDK 1.1 und das darin enthaltene MinGW.

Wäre nett, wenn jemand, der das irgendwie geschafft, z.B. hier im Forum hochladen könnte.

Danke schonmal!

Viele Grüße
Julian

Verfasst: 22. Mai 2011 18:29
von Christian81

Verfasst: 22. Mai 2011 18:34
von julian-w
Leider nein...

Da bekomm ich ganz zu beginn folgenden Fehler:

Code: Alles auswählen

C:\Program Files\MySQL\MySQL Server 5.1\lib\opt>reimp -d libmysql.lib
reimp: libmysql.lib: invalid or corrupt import library
MySQL: 5.1.56 (neuste 5.1er Version)
MinGW-Utilities: 0.4.1 (neuste Version)

Der Rest dürfte erst mal denke keine Rolle spiele, da ich ja schon am ersten Schritt scheitere...

Verfasst: 22. Mai 2011 19:23
von Christian81
Naja ein wenig google fragen darf man schon :)
http://christopher.rasch-olsen.no/2009/ ... omment-444

Verfasst: 22. Mai 2011 21:34
von julian-w
So, ich habe das ganze jetzt kompiliert bekommen... doch leider will er die MySQL-Treiber einfach nicht laden....

Ich habe präventiv mal die libmysql.dll in alle mögliche /bin Ordner kopiert und das gleiche mit den neu erzeugen *.dll- und *.a-Dateien gemacht (natürlich haber in den plugins\sqldrivers-Ordner kopiert).
Trotzdem funktioniert es einfach nicht :x

Irgendwie kann ich es einfach nicht verstehen, warum man das soooo umständlich machen muss und das nicht einfach "von Werk aus" mit einbaut.

Kennt jemand evtl. eine andere plattformunabhängige MySQL-Lib? Am liebsten wäre mir LGPL.

Verfasst: 22. Mai 2011 21:37
von Christian81
'Dependency Walker' auf das mysql - Plugin um zu schauen ob wirklich alle DLLs vorhanden sind.
Warum den plugins-Ordner kopieren? Das Plugin muss schon dort bleiben...

Verfasst: 22. Mai 2011 21:42
von julian-w
Nunja, kopiert hab ich nach der Anleitung von QT:
To use the SDK and QtCreator directly, copy these libraries to your C:\Qt\...\qt\plugins\sqldrivers\, and copy C:\MySQL\MySQL51\lib\opt\libmysql.dll to your C:\Qt\...\qt\bin\.
Dependency Walker meldet als fehlend:
QTCORE4D.DLL
QTSQL4D.DLL
LIBMYSQL.DLL

Diese Bibliotheken sind halt alle unter /bin, von daher dürften die ja zur Laufzeit zur Verfügung stehen.

Interessant ist nur, dass wenn ich die libmysql.dll zu dem MySQL-Treiber kopiere, Dependency Walker immer noch LIBMYSQL.DLL als fehlend meldet...

Edit:
sry, mein Fehler: libmysql.dll findet er, wenn ich sie ins Verzeichnisse kopiere... hab mich vertan bei Dependency Walker ...

Verfasst: 22. Mai 2011 22:50
von androphinx
Deine PATH-Umgebungsvariable verweist nicht auf das Binary-Verzeichnis von Qt. Im QtCreator bzw. der von Qt mitgelieferten Konsolenumgebung ist sie gesetzt, aber nur temporär.
Alles weitere findest du unter google ;)

Mfg androphinx

Verfasst: 22. Mai 2011 22:51
von julian-w
Nunja, wenn ich dann aber Debuge dürfte es doch gehen, oder?
Weil dann wird der Pfad ja gesetzte, wenn auch nur temporär.

Edit:
Könnte mir nicht einfach jemand sein kompiliertes PlugIn schicken?
Ich nutze qt v4.7.3 und das QtSDK 1.1, das dürfte doch Standard sein, von daher sollte es doch auch kompatibel (mit MinGW etc.) sein, oder?

Edit2:
Endlich.... es funktioniert :)
Fragt mich nicht, warum es jetzt geht und vorhin nicht, aber eigentlich hab ich nur neu gestartet.... keine Ahnung, ob es daran gelegen hat, aber falls jemand die dll's haben möchte, einfach melden ;)