MYSQL treiber erstellen in win 7 64bit

Verschiedenes zu Qt
Antworten
annica
Beiträge: 26
Registriert: 5. November 2010 10:01

MYSQL treiber erstellen in win 7 64bit

Beitrag 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
annica
Beiträge: 26
Registriert: 5. November 2010 10:01

Beitrag 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?
annica
Beiträge: 26
Registriert: 5. November 2010 10:01

Beitrag 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!!!
Tuxing
Beiträge: 52
Registriert: 28. Oktober 2009 11:13

Beitrag 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
Dateianhänge
reimp.zip
Funktionierendes Reimp
(8.47 KiB) 243-mal heruntergeladen
Antworten