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
Qt 4.3.0 statisch kompiliert mit MySQL-Datenbanktreiber...
-
Christian81
- Beiträge: 7319
- Registriert: 26. August 2004 14:11
- Wohnort: Bremen
- Kontaktdaten:
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.Christian81 hat geschrieben:mysql statisch kompilieren.
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
-
Christian81
- Beiträge: 7319
- Registriert: 26. August 2004 14:11
- Wohnort: Bremen
- Kontaktdaten:
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
.........................
speack português italiano deutsch english castellà qt
speack português italiano deutsch english castellà qt
Hmm, gerade mal durchgetestet. Die entstandene libmsql.a ist jetzt 112 statt der 108 KB der aus dem devpak gross.patrik08 hat geschrieben:am ende nimt libQtSql.a alles auf ..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
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