Seite 1 von 1

Qt 4.3.0 statisch kompiliert mit MySQL-Datenbanktreiber...

Verfasst: 12. Juli 2007 16:11
von gerome69
auf Windows XP mit dev-cpp/mingw. verlangt leider beim Start eine libmysql.dll. Offenbar ist libmysql.a nur eine Import-Definition für das, was die dll an Symbolen enthält.
Hat jemand es erfolgreich geschafft, diese dll-Abhängigkeit zu entfernen, damit mein Purismus "nur eine .exe" auch hierfür erfüllt werden kann.

Danke für Tips, Bernd

Verfasst: 12. Juli 2007 21:38
von Christian81
mysql statisch kompilieren.

Verfasst: 13. Juli 2007 08:46
von gerome69
Christian81 hat geschrieben:mysql statisch kompilieren.
Ja, das habe ich auch schon früher mal versucht. Bin dann in endlosen Abhängigkeiten hängengeblieben. Dann ist das Ganze als nächstes zB von zlib.dll abhängig. Dann muß ich auch noch die zlib statisch kompilieren etc. etc. Habe ich leider nicht zum Laufen bekommen.

Ich benutze zur Zeit das dev-pak "mysql" für dev-cpp. Und das scheint eben nicht statisch gelinkt zu sein, trotz einer mysql.a.

Gruß, Gérôme

Verfasst: 13. Juli 2007 09:28
von Christian81
Die .a ist, wie Du schon festgestellt hast, nur die statische import-lib

Verfasst: 27. Juli 2007 09:10
von patrik08
gerome69 hat geschrieben:
Christian81 hat geschrieben: Ich benutze zur Zeit das dev-pak "mysql" für dev-cpp. Und das scheint eben nicht statisch gelinkt zu sein, trotz einer mysql.a.
Gruß, Gérôme

Nur mit Mingw .. mit VS scheinbar nicht moeglich

Wenn man die mysql lib.a in C:\MinGW\lib kopiert und include in . C:\MinGW\include .. geht es prima mysql -static builden..

Aber die lib von mysql server install nehmen...

Code: Alles auswählen

cd C:\MySQL\lib
reimp -d libmysql.lib
dlltool --input-def libmysql.def --dllname libmysql.dll --output-lib C:\MinGW\lib\libmysql.a

<QTDIR>\mkspecs\win32-g++\qmake.conf:  aendern in 

QMAKE_LFLAGS = -static -enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-reloc


configure -static -release -no-exceptions -qt-sql-odbc  -qt-sql-mysql  -qt-sql-sqlite  -qt-gif -qt-libpng -qt-libjpeg -qt-libtiff -no-vcproj
am ende nimt libQtSql.a alles auf ..

Verfasst: 27. Juli 2007 13:20
von gerome69
patrik08 hat geschrieben:

Code: Alles auswählen

cd C:\MySQL\lib
reimp -d libmysql.lib
dlltool --input-def libmysql.def --dllname libmysql.dll --output-lib C:\MinGW\lib\libmysql.a

<QTDIR>\mkspecs\win32-g++\qmake.conf:  aendern in 

QMAKE_LFLAGS = -static -enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-reloc


configure -static -release -no-exceptions -qt-sql-odbc  -qt-sql-mysql  -qt-sql-sqlite  -qt-gif -qt-libpng -qt-libjpeg -qt-libtiff -no-vcproj
am ende nimt libQtSql.a alles auf ..
Hmm, gerade mal durchgetestet. Die entstandene libmsql.a ist jetzt 112 statt der 108 KB der aus dem devpak gross.
Ins devcpp-lib-Verzeichnis kopiert, dann wie vorgeschlagen die QMAKE_LFLAGS geändert und Qt neu kompiliert.

=> leider keine Änderung. Er will immer noch die libmylsql.dll haben :-(

Gérôme