Qt 4.7 mysql Treiber erstellen
Verfasst: 8. Februar 2011 14:15
Hallo,
ich benutze Win7 und Qt 4.7. Dazu wollte ich mir den sqltreiber compilieren. Mit der Version 4.6 hat alles super funktioniert nur bei 4.7 nicht.
Der Einfachheit halber habe ich die Befehle in eine Batchdatei zusammen gefasst:
starte ich nun die Batchdatei so erscheint folgende Ausgabe:
...
C:\Qt\2010.05\qt\src\plugins\sqldrivers\mysql>qmake "INCLUDEPATH+=C:/mysql/inclu
de" "LIBS+=C:/mysql/lib/libmysql.lib" mysql.pro
C:\Qt\2010.05\qt\src\plugins\sqldrivers\mysql>pause
Drücken Sie eine beliebige Taste . . .
C:\Qt\2010.05\qt\src\plugins\sqldrivers\mysql>mingw32-make.exe
mingw32-make.exe -f Makefile.Debug all
mingw32-make.exe[1]: Entering directory `C:/Qt/2010.05/qt/src/plugins/sqldrivers
/mysql'
g++ -enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-rel
oc -mthreads -Wl -shared -Wl,--out-implib,c:\Qt\2010.05\qt\plugins\sqldrivers\li
bqsqlmysqld4.a -o ..\..\..\..\plugins\sqldrivers\qsqlmysqld4.dll tmp/obj/debug_s
hared/main.o tmp/obj/debug_shared/qsql_mysql.o tmp/obj/debug_shared/moc_qsql_mys
ql.o -L"c:\Qt\2010.05\qt\lib" -L"c:\Program Files\SQLXML 4.0\bin\" -L"c:\Qt\201
0.05\qt\lib" tmp\obj\debug_shared\qsqlmysqld_resource_res.o C:/mysql/lib/libmysq
l.lib -lQtSqld4 -lQtCored4
Creating library file: c:\Qt\2010.05\qt\plugins\sqldrivers\libqsqlmysqld4.a
tmp/obj/debug_shared/main.o: In function `QMYSQLDriverPlugin':
C:\Qt\2010.05\qt\src\plugins\sqldrivers\mysql/main.cpp:58: undefined reference t
o `_imp___ZN16QSqlDriverPluginC2EP7QObject'
C:\Qt\2010.05\qt\src\plugins\sqldrivers\mysql/main.cpp:58: undefined reference t
o `_imp___ZN16QSqlDriverPluginC2EP7QObject'
tmp/obj/debug_shared/main.o:C:\Qt\2010.05\qt\src\plugins\sqldrivers\mysql/main.c
pp:64: undefined reference to `_imp___ZNK7QStringeqERK13QLatin1String'
tmp/obj/debug_shared/main.o:C:\Qt\2010.05\qt\src\plugins\sqldrivers\mysql/main.c
pp:64: undefined reference to `_imp___ZNK7QStringeqERK13QLatin1String'
tmp/obj/debug_shared/main.o: In function `QString':
C:\Qt\2010.05\qt\src\plugins\sqldrivers\mysql/../../../../include/QtCore/../../s
rc/corelib/tools/qstring.h:696: undefined reference to `_imp___ZN7QString17fromL
atin1_helperEPKci'
C:\Qt\2010.05\qt\src\plugins\sqldrivers\mysql/../../../../include/QtCore/../../s
rc/corelib/tools/qstring.h:728: undefined reference to `_imp___Z9qt_assertPKcS0_
i'
tmp/obj/debug_shared/main.o: In function `~QString':
C:\Qt\2010.05\qt\src\plugins\sqldrivers\mysql/../../../../include/QtCore/../../s
rc/corelib/tools/qstring.h:882: undefined reference to `_imp___ZN7QString4freeEP
NS_4DataE'
tmp/obj/debug_shared/main.o: In function `QList':
C:\Qt\2010.05\qt\src\plugins\sqldrivers\mysql/../../../../include/QtCore/../../s
rc/corelib/tools/qlist.h:117: undefined reference to `_imp___ZN9QListData11share
d_nullE'
...
Den vollen Text habe ich nicht kopiert, da die Fehler am Ende nur Folgefehler sind. Das Problem tritt in der main.cpp auf.
Die Pfade stimmen - habe ich jetzt schon so oft geprüft.
Was kann ich hier machen, dass ich diese Bibliothek auch unter QT 4.7 erstellen kann.
Danke acdc
ich benutze Win7 und Qt 4.7. Dazu wollte ich mir den sqltreiber compilieren. Mit der Version 4.6 hat alles super funktioniert nur bei 4.7 nicht.
Der Einfachheit halber habe ich die Befehle in eine Batchdatei zusammen gefasst:
Code: Alles auswählen
path=%path%;C:\Qt\2010.05\qt\bin
path=%path%;C:\Qt\2010.05\mingw\bin
cd C:\Qt\2010.05\qt\src\plugins\sqldrivers\mysql
qmake "INCLUDEPATH+=C:/mysql/include" "LIBS+=C:/mysql/lib/libmysql.lib" mysql.pro
pause
mingw32-make.exe
...
C:\Qt\2010.05\qt\src\plugins\sqldrivers\mysql>qmake "INCLUDEPATH+=C:/mysql/inclu
de" "LIBS+=C:/mysql/lib/libmysql.lib" mysql.pro
C:\Qt\2010.05\qt\src\plugins\sqldrivers\mysql>pause
Drücken Sie eine beliebige Taste . . .
C:\Qt\2010.05\qt\src\plugins\sqldrivers\mysql>mingw32-make.exe
mingw32-make.exe -f Makefile.Debug all
mingw32-make.exe[1]: Entering directory `C:/Qt/2010.05/qt/src/plugins/sqldrivers
/mysql'
g++ -enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-rel
oc -mthreads -Wl -shared -Wl,--out-implib,c:\Qt\2010.05\qt\plugins\sqldrivers\li
bqsqlmysqld4.a -o ..\..\..\..\plugins\sqldrivers\qsqlmysqld4.dll tmp/obj/debug_s
hared/main.o tmp/obj/debug_shared/qsql_mysql.o tmp/obj/debug_shared/moc_qsql_mys
ql.o -L"c:\Qt\2010.05\qt\lib" -L"c:\Program Files\SQLXML 4.0\bin\" -L"c:\Qt\201
0.05\qt\lib" tmp\obj\debug_shared\qsqlmysqld_resource_res.o C:/mysql/lib/libmysq
l.lib -lQtSqld4 -lQtCored4
Creating library file: c:\Qt\2010.05\qt\plugins\sqldrivers\libqsqlmysqld4.a
tmp/obj/debug_shared/main.o: In function `QMYSQLDriverPlugin':
C:\Qt\2010.05\qt\src\plugins\sqldrivers\mysql/main.cpp:58: undefined reference t
o `_imp___ZN16QSqlDriverPluginC2EP7QObject'
C:\Qt\2010.05\qt\src\plugins\sqldrivers\mysql/main.cpp:58: undefined reference t
o `_imp___ZN16QSqlDriverPluginC2EP7QObject'
tmp/obj/debug_shared/main.o:C:\Qt\2010.05\qt\src\plugins\sqldrivers\mysql/main.c
pp:64: undefined reference to `_imp___ZNK7QStringeqERK13QLatin1String'
tmp/obj/debug_shared/main.o:C:\Qt\2010.05\qt\src\plugins\sqldrivers\mysql/main.c
pp:64: undefined reference to `_imp___ZNK7QStringeqERK13QLatin1String'
tmp/obj/debug_shared/main.o: In function `QString':
C:\Qt\2010.05\qt\src\plugins\sqldrivers\mysql/../../../../include/QtCore/../../s
rc/corelib/tools/qstring.h:696: undefined reference to `_imp___ZN7QString17fromL
atin1_helperEPKci'
C:\Qt\2010.05\qt\src\plugins\sqldrivers\mysql/../../../../include/QtCore/../../s
rc/corelib/tools/qstring.h:728: undefined reference to `_imp___Z9qt_assertPKcS0_
i'
tmp/obj/debug_shared/main.o: In function `~QString':
C:\Qt\2010.05\qt\src\plugins\sqldrivers\mysql/../../../../include/QtCore/../../s
rc/corelib/tools/qstring.h:882: undefined reference to `_imp___ZN7QString4freeEP
NS_4DataE'
tmp/obj/debug_shared/main.o: In function `QList':
C:\Qt\2010.05\qt\src\plugins\sqldrivers\mysql/../../../../include/QtCore/../../s
rc/corelib/tools/qlist.h:117: undefined reference to `_imp___ZN9QListData11share
d_nullE'
...
Den vollen Text habe ich nicht kopiert, da die Fehler am Ende nur Folgefehler sind. Das Problem tritt in der main.cpp auf.
Die Pfade stimmen - habe ich jetzt schon so oft geprüft.
Was kann ich hier machen, dass ich diese Bibliothek auch unter QT 4.7 erstellen kann.
Danke acdc