Seite 1 von 1

Qt 4.7 mysql Treiber erstellen

Verfasst: 8. Februar 2011 14:15
von acdc
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:

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
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

Verfasst: 9. Februar 2011 10:10
von acdc
Hat jemand eine Idee?

Ich habe nun das Qt-Paket (qt-sdk-win-opensource-2010.05.exe) neu installiert. hat aber keine Verbesserung bewirkt.

acdc

Verfasst: 11. Februar 2011 09:51
von acdc
Liegt scheinbar an zugriffsrechten, ich habe es auf einem Win7 probiert, wo keine UAC aktiviert war, hier funktionierts.

...
acdc