Seite 1 von 1

MYSQL treiber erstellen in win 7 64bit

Verfasst: 15. Dezember 2010 08:57
von annica
hallihallo,
ich programmier sehr selten mit c++ aber nun muss ich damit eine datenbankverbindung aufbauen. ich habe schon einige einträge dazu gelesen, aber leider versteh ich nicht was ich genau tun soll :(

habe gelesen, dass ich die libmysql.lib neu kompilieren muss und dazu den befehl:
reimp -d libmysql.lib
in dem dazugehörigen ordner auführen muss. nur leider kennt meine condole den befehl reimp nicht. ich habe schon von der seite mingw.org schon den installer installiert, nur leider war das wohl nicht das was ich brauch denn er kennt noch immer nicht den reimp befehl :(

wenn mir jemand helfen könnte wär ich sehr froh.

LG

Verfasst: 15. Dezember 2010 12:04
von annica
so jetzt hab ich immerhin reimp. aber jetzt hab ich den fehler dass die libmysql.lib invalid oder corrupt ist :(

kann mir keiner helfen?

Verfasst: 17. Dezember 2010 12:22
von annica
die antwort lautet:
bug im reimp von mingw.
Wer das gleiche problem hat, vielleicht auch bei anderen DLL und nicht nur bei dieser speziellen, in der neuesten funktioniert es nicht. habe nach langer suche rausgefunden, dass nur die 0.3 version von reimp funktioniert!!!

Verfasst: 18. Dezember 2010 16:17
von Tuxing
Hallo zusammen,
ich kann meinen Lösungsweg zu dem Problem mal vorstellen. Hab da auch länger für gebracht. Folgendes:

-> Verzeichnis anlegen:
c:\Programmieren\ (beispielsweise)
-> MinGW herunterladen und in dieses Verzeichnis installieren (c:/Programmieren/MinGW)
-> Umgebungsvariable Path bearbeiten und folgendes hinzufügen:
C:\Programmieren\MinGW\bin
-> Eingabeaufforderung öffnen und folgende Befehle ausführen.
gcc --version
Dadurch sollte die installierte GCC-Version anzeigt werden.

-> MySql installieren mit den Optionen C/C++ Header Files. Die anderen Optionen sind unwichtig und können abgewählt werden. Installationspfad:
c:\Programmieren\MySql
-> Da der MinGW Linker nicht zu den MySQL DLLs (libmysql.dll) kompatibel ist, muß eine statische Import
-Lib (libmysql.a) erzeugt werden. Dazu werden zwei Tools (reimp.exe und dlltool.exe) aus dem Paket mingw-utils benötigt. Falls reimp bei euch nicht dabei ist, müsst ihr es seperat runterladen und in c:\Programmieren\MinGW\bin kopieren.


-> Eingabeaufforderung öffnen und in das Verzeichnis C:\Programmieren\MySQL\lib\opt wechseln.
-> Folgende Befehle ausführen:

reimp -d libmysql.lib
dlltool -k -d libmysql.def -l libmysql.a
-> Damit anschließend bei der Konfiguration von Qt die Pfade für die includes und libs nicht mit angegeben werden müssen, müssen ein paar Dateien umkopiert werden

-> C:\Programmieren\MySQL\lib\opt\libmysql.a nach C:\Programmieren\MinGW\lib kopieren.

-> Alle Dateien aus C:\Programmieren\MySQL\include nach C:\Programmieren\MinGW\include kopieren

-> Den Qt creator herunterladen und nach C:\Programmieren\qt-creator installieren.

-> Das Source Paket von Qt herunterladen und nach C:\Programmieren\qt\ kopieren. ACHTUNG: Wirklich das Sourcepaket nicht das MinGW oder Visual Studio Paket

-> Folgende Datei öffnen:
C:\Programmieren\qt\mkspecs\win32-g++\qmake.conf
-> Die Zeile
QMAKE_LFLAGS = -enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-reloc
ändern in:
QMAKE_LFLAGS = -static -enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-reloc
-> Eingabeaufforderung öffnen und in das Verzeichnis wechseln:
C:\Programmieren\qt\
-> Folgende Befehle ausführen und zwischendurch viel Kaffee trinken gehen, weil das dauert:
configure -static -release -no-exceptions -qt-sql-odbc -qt-sql-mysql -qt-sql-sqlite -qt-gif -qt-libpng -qt-libjpeg -qt-libtiff -no-vcproj
mingw32-make sub-src
mingw32-make sub-tools
-> Zum Abschluss einen weiteren Eintrag in der Umgebungsvariable Path:
C:\Programmieren\qt\bin

Nun könnt Ihr den Qt Creator starten (unter umständen noch die gerade kompilierte qt version in den eintellungen einstellen) und MySql nutzen. Falls jemand eine genauere Liste der verwendeten Pakete und Dateien benötigt, einfach nochmal nachfragen.

Anbei findet ihr noch eine definitv funktionierende Reimp Version.

Grüße und Viel Erfolg