Seite 1 von 1
MySql Plugin mit Embedded MySQL Server
Verfasst: 4. Juni 2007 16:07
von SuperSonik
Hallo Leute,
ich würde gerne Qt mit dem MySQL Plugin kompilieren.
Dabei hätte ich den MySQL - Server gerne "Embedded".
Also erstmal, ich benutze:
OS: Windows XP Prof.
QT: Open Source Edition 4.3.0
Mingw: 3.4.2
MySql: 5.0 (ich habe nur die header etc. installiert)
In der Anleitung hier:
http://doc.trolltech.com/4.3-snapshot/s ... and-higher
steht man soll -lmysqlclient_r gegen -lmysqld tauschen.
Aber das ist leider die Anleitung für Linux.
Aber gegen welche Bib. muß ich unter Windows linken?
Zur Auswahl habe ich libmysql.lib, mysqlclient.lib, mysys-nt.lib.
Ich denke mal es ist nicht die mysqlclient.lib?!
Aber welche von den anderen beiden ?
Meine Vermutung ist ja libmysql.lib, aber gegen welche Bib. würde man dann linken wenn man das Ganze nicht "Embedded" haben wollte ?
Dann die zweite Frage :
Hat das jemand schon mal hinbekommen? Muß man dann in der Benutzung der entsprechenden SQL - Klassen von Qt irgendwas spezielles beachten ?
Danke schon mal im vorraus,
SuperSonik
Verfasst: 5. Juni 2007 09:30
von SuperSonik
Ich bins nochmal.
Ich hab inzwischen herausgefunden, dass man um die embedded Version zu erhalten in der Datei
qsql_mysql.cpp die zeile
auskommentieren muss.
Allerdings funktioniert das Erstellen des Mysql Plugins bei mir die ganze Zeit nicht.
ich habe im ordner
%QTDIR%\src\plugins\sqldrivers\mysql
zuerst den Befehl
Code: Alles auswählen
qmake -o Makefile "INCLUDEPATH+=C:\MySQL\include" "LIBS+=C:\MySQL\lib\opt\libmysql.lib" mysql.pro
ausgeführt.
Wenn ich danach jedoch mingw32-make ausführe erhalte ich folgende Fehlermeldung:
Code: Alles auswählen
Creating library file: c:\Qt\4.3.0\plugins\sqldrivers\libqsqlmysql4.a
tmp\obj\release_shared\qsql_mysql.o(.text+0x4c):qsql_mysql.cpp: undefined reference to `mysql_character_set_name@4'
tmp\obj\release_shared\qsql_mysql.o(.text+0x184):qsql_mysql.cpp: undefined reference to `mysql_error@4'
tmp\obj\release_shared\qsql_mysql.o(.text+0x19a):qsql_mysql.cpp: undefined reference to `mysql_errno@4'
tmp\obj\release_shared\qsql_mysql.o(.text+0x6d7):qsql_mysql.cpp: undefined reference to `mysql_stmt_error@4'
tmp\obj\release_shared\qsql_mysql.o(.text+0x6eb):qsql_mysql.cpp: undefined reference to `mysql_stmt_errno@4'
tmp\obj\release_shared\qsql_mysql.o(.text+0xa25):qsql_mysql.cpp: undefined reference to `mysql_stmt_data_seek@12'
tmp\obj\release_shared\qsql_mysql.o(.text+0xa39):qsql_mysql.cpp: undefined reference to `mysql_stmt_fetch@4'
tmp\obj\release_shared\qsql_mysql.o(.text+0xb13):qsql_mysql.cpp: undefined reference to `mysql_data_seek@12'
tmp\obj\release_shared\qsql_mysql.o(.text+0xb2a):qsql_mysql.cpp: undefined reference to `mysql_fetch_row@4'
tmp\obj\release_shared\qsql_mysql.o(.text+0xc8f):qsql_mysql.cpp: undefined reference to `mysql_stmt_fetch@4'
tmp\obj\release_shared\qsql_mysql.o(.text+0xcd7):qsql_mysql.cpp: undefined reference to `mysql_fetch_row@4'
tmp\obj\release_shared\qsql_mysql.o(.text+0xd3f):qsql_mysql.cpp: undefined reference to `mysql_num_rows@4'
tmp\obj\release_shared\qsql_mysql.o(.text+0xd7a):qsql_mysql.cpp: undefined reference to `mysql_stmt_num_rows@4'
tmp\obj\release_shared\qsql_mysql.o(.text+0x1088):qsql_mysql.cpp: undefined reference to `mysql_fetch_lengths@4'
tmp\obj\release_shared\qsql_mysql.o(.text+0x179c):qsql_mysql.cpp: undefined reference to `mysql_stmt_num_rows@4'
tmp\obj\release_shared\qsql_mysql.o(.text+0x17b7):qsql_mysql.cpp: undefined reference to `mysql_num_rows@4'
tmp\obj\release_shared\qsql_mysql.o(.text+0x17fe):qsql_mysql.cpp: undefined reference to `mysql_insert_id@4'
tmp\obj\release_shared\qsql_mysql.o(.text+0x183d):qsql_mysql.cpp: undefined reference to `mysql_stmt_insert_id@4'
tmp\obj\release_shared\qsql_mysql.o(.text+0x191e):qsql_mysql.cpp: undefined reference to `mysql_errno@4'
tmp\obj\release_shared\qsql_mysql.o(.text+0x1936):qsql_mysql.cpp: undefined reference to `mysql_field_seek@8'
tmp\obj\release_shared\qsql_mysql.o(.text+0x1944):qsql_mysql.cpp: undefined reference to `mysql_fetch_field@4'
tmp\obj\release_shared\qsql_mysql.o(.text+0x19b4):qsql_mysql.cpp: undefined reference to `mysql_field_seek@8'
tmp\obj\release_shared\qsql_mysql.o(.text+0x1a6e):qsql_mysql.cpp: undefined reference to `mysql_server_init@12'
tmp\obj\release_shared\qsql_mysql.o(.text+0x2469):qsql_mysql.cpp: undefined reference to `mysql_close@4'
tmp\obj\release_shared\qsql_mysql.o(.text+0x2dfc):qsql_mysql.cpp: undefined reference to `mysql_list_fields@12'
tmp\obj\release_shared\qsql_mysql.o(.text+0x2e45):qsql_mysql.cpp: undefined reference to `mysql_fetch_field@4'
tmp\obj\release_shared\qsql_mysql.o(.text+0x2eac):qsql_mysql.cpp: undefined reference to `mysql_free_result@4'
tmp\obj\release_shared\qsql_mysql.o(.text+0x3024):qsql_mysql.cpp: undefined reference to `mysql_query@8'
tmp\obj\release_shared\qsql_mysql.o(.text+0x31e4):qsql_mysql.cpp: undefined reference to `mysql_query@8'
tmp\obj\release_shared\qsql_mysql.o(.text+0x33a4):qsql_mysql.cpp: undefined reference to `mysql_query@8'
tmp\obj\release_shared\qsql_mysql.o(.text+0x3a20):qsql_mysql.cpp: undefined reference to `mysql_real_escape_string@16'
tmp\obj\release_shared\qsql_mysql.o(.text+0x446c):qsql_mysql.cpp: undefined reference to `mysql_init@4'
tmp\obj\release_shared\qsql_mysql.o(.text+0x458c):qsql_mysql.cpp: undefined reference to `mysql_real_connect@32'
tmp\obj\release_shared\qsql_mysql.o(.text+0x4649):qsql_mysql.cpp: undefined reference to `mysql_select_db@8'
tmp\obj\release_shared\qsql_mysql.o(.text+0x46ab):qsql_mysql.cpp: undefined reference to `mysql_set_character_set@8'
tmp\obj\release_shared\qsql_mysql.o(.text+0x46e8):qsql_mysql.cpp: undefined reference to `mysql_get_client_version@0'
tmp\obj\release_shared\qsql_mysql.o(.text+0x4702):qsql_mysql.cpp: undefined reference to `mysql_get_server_version@4'
tmp\obj\release_shared\qsql_mysql.o(.text+0x4bbc):qsql_mysql.cpp: undefined reference to `mysql_close@4'
tmp\obj\release_shared\qsql_mysql.o(.text+0x53e0):qsql_mysql.cpp: undefined reference to `mysql_list_tables@8'
tmp\obj\release_shared\qsql_mysql.o(.text+0x5413):qsql_mysql.cpp: undefined reference to `mysql_data_seek@12'
tmp\obj\release_shared\qsql_mysql.o(.text+0x5421):qsql_mysql.cpp: undefined reference to `mysql_fetch_row@4'
tmp\obj\release_shared\qsql_mysql.o(.text+0x54a5):qsql_mysql.cpp: undefined reference to `mysql_free_result@4'
tmp\obj\release_shared\qsql_mysql.o(.text+0x560f):qsql_mysql.cpp: undefined reference to `mysql_stmt_result_metadata@4'
tmp\obj\release_shared\qsql_mysql.o(.text+0x562a):qsql_mysql.cpp: undefined reference to `mysql_num_fields@4'
tmp\obj\release_shared\qsql_mysql.o(.text+0x5714):qsql_mysql.cpp: undefined reference to `mysql_fetch_field@4'
tmp\obj\release_shared\qsql_mysql.o(.text+0x5913):qsql_mysql.cpp: undefined reference to `mysql_next_result@4'
tmp\obj\release_shared\qsql_mysql.o(.text+0x5931):qsql_mysql.cpp: undefined reference to `mysql_store_result@4'
tmp\obj\release_shared\qsql_mysql.o(.text+0x5940):qsql_mysql.cpp: undefined reference to `mysql_free_result@4'
tmp\obj\release_shared\qsql_mysql.o(.text+0x595a):qsql_mysql.cpp: undefined reference to `mysql_next_result@4'
tmp\obj\release_shared\qsql_mysql.o(.text+0x5b32):qsql_mysql.cpp: undefined reference to `mysql_free_result@4'
tmp\obj\release_shared\qsql_mysql.o(.text+0x5b56):qsql_mysql.cpp: undefined reference to `mysql_stmt_close@4'
tmp\obj\release_shared\qsql_mysql.o(.text+0x5e30):qsql_mysql.cpp: undefined reference to `mysql_stmt_prepare@12'
tmp\obj\release_shared\qsql_mysql.o(.text+0x5f3d):qsql_mysql.cpp: undefined reference to `mysql_stmt_init@4'
tmp\obj\release_shared\qsql_mysql.o(.text+0x5ff7):qsql_mysql.cpp: undefined reference to `mysql_stmt_param_count@4'
tmp\obj\release_shared\qsql_mysql.o(.text+0x6018):qsql_mysql.cpp: undefined reference to `mysql_stmt_param_count@4'
tmp\obj\release_shared\qsql_mysql.o(.text+0x624e):qsql_mysql.cpp: undefined reference to `mysql_real_query@12'
tmp\obj\release_shared\qsql_mysql.o(.text+0x63d4):qsql_mysql.cpp: undefined reference to `mysql_store_result@4'
tmp\obj\release_shared\qsql_mysql.o(.text+0x63fa):qsql_mysql.cpp: undefined reference to `mysql_field_count@4'
tmp\obj\release_shared\qsql_mysql.o(.text+0x641f):qsql_mysql.cpp: undefined reference to `mysql_field_count@4'
tmp\obj\release_shared\qsql_mysql.o(.text+0x647d):qsql_mysql.cpp: undefined reference to `mysql_affected_rows@4'
tmp\obj\release_shared\qsql_mysql.o(.text+0x64e7):qsql_mysql.cpp: undefined reference to `mysql_fetch_field_direct@8'
tmp\obj\release_shared\qsql_mysql.o(.text+0x6b04):qsql_mysql.cpp: undefined reference to `mysql_stmt_reset@4'
tmp\obj\release_shared\qsql_mysql.o(.text+0x6ef5):qsql_mysql.cpp: undefined reference to `mysql_stmt_param_count@4'
tmp\obj\release_shared\qsql_mysql.o(.text+0x6f10):qsql_mysql.cpp: undefined reference to `mysql_stmt_param_count@4'
tmp\obj\release_shared\qsql_mysql.o(.text+0x6f40):qsql_mysql.cpp: undefined reference to `mysql_stmt_execute@4'
tmp\obj\release_shared\qsql_mysql.o(.text+0x7055):qsql_mysql.cpp: undefined reference to `mysql_stmt_affected_rows@4'
tmp\obj\release_shared\qsql_mysql.o(.text+0x709d):qsql_mysql.cpp: undefined reference to `mysql_stmt_bind_result@8'
tmp\obj\release_shared\qsql_mysql.o(.text+0x70e0):qsql_mysql.cpp: undefined reference to `mysql_stmt_attr_set@12'
tmp\obj\release_shared\qsql_mysql.o(.text+0x7102):qsql_mysql.cpp: undefined reference to `mysql_stmt_store_result@4'
tmp\obj\release_shared\qsql_mysql.o(.text+0x714d):qsql_mysql.cpp: undefined reference to `mysql_stmt_bind_result@8'
tmp\obj\release_shared\qsql_mysql.o(.text+0x75fa):qsql_mysql.cpp: undefined reference to `mysql_stmt_bind_param@8'
tmp\obj\release_shared\qsql_mysql.o(.text+0x1a95):qsql_mysql.cpp: undefined reference to `mysql_server_end@0'
collect2: ld returned 1 exit status
mingw32-make[1]: *** [..\..\..\..\plugins\sqldrivers\qsqlmysql4.dll] Error 1
mingw32-make[1]: Leaving directory `C:/Qt/4.3.0/src/plugins/sqldrivers/mysql'
mingw32-make: *** [release] Error 2
Sorry ist etwas lang aber ich wußte nicht was ich weglassen kann.
Hat jemand eine Ahnung was ich falsch mache?
Gruß,
SuperSonik
Verfasst: 7. Juni 2007 17:00
von SuperSonik
Ich hänge immer noch an dem Problem mit dem Mysql - Plugin.
Der Kompiliervorgang bricht immer mit der Fehlermeldung
Code: Alles auswählen
4.3.0\lib/libQtSqld.a(qsql_mysql.o)(.text+0x10d): In function `Z5codecP8st_mysql':
4.3.0/src/sql/drivers/mysql/qsql_mysql.cpp:193: undefined reference to `mysql_character_set_name@4'
4.3.0\lib/libQtSqld.a(qsql_mysql.o)(.text+0x188): In function `Z10qMakeErrorRK7QStringN9QSqlError9ErrorTypeEPK19QMYSQLDriverP
':
4.3.0/src/sql/drivers/mysql/qsql_mysql.cpp:204: undefined reference to `mysql_error@4'
4.3.0\lib/libQtSqld.a(qsql_mysql.o)(.text+0x19b):C:/Qt/4.3.0/src/sql/drivers/mysql/qsql_mysql.cpp:205: undefined reference to
l_errno@4'
4.3.0\lib/libQtSqld.a(qsql_mysql.o)(.text+0x70c): In function `Z14qMakeStmtErrorRK7QStringN9QSqlError9ErrorTypeEP13st_mysql_s
4.3.0/src/sql/drivers/mysql/qsql_mysql.cpp:275: undefined reference to `mysql_stmt_error@4'
4.3.0\lib/libQtSqld.a(qsql_mysql.o)(.text+0x71d):C:/Qt/4.3.0/src/sql/drivers/mysql/qsql_mysql.cpp:276: undefined reference to
l_stmt_errno@4'
4.3.0\lib/libQtSqld.a(qsql_mysql.o)(.text+0xa78): In function `ZN19QMYSQLResultPrivate12bindInValuesEv':
4.3.0/src/sql/drivers/mysql/qsql_mysql.cpp:316: undefined reference to `mysql_stmt_result_metadata@4'
4.3.0\lib/libQtSqld.a(qsql_mysql.o)(.text+0xaa1):C:/Qt/4.3.0/src/sql/drivers/mysql/qsql_mysql.cpp:320: undefined reference to
l_num_fields@4'
4.3.0\lib/libQtSqld.a(qsql_mysql.o)(.text+0xb20):C:/Qt/4.3.0/src/sql/drivers/mysql/qsql_mysql.cpp:327: undefined reference to
l_fetch_field@4'
4.3.0\lib/libQtSqld.a(qsql_mysql.o)(.text+0x11e9): In function `ZN12QMYSQLResult7cleanupEv':
4.3.0/src/sql/drivers/mysql/qsql_mysql.cpp:384: undefined reference to `mysql_free_result@4'
4.3.0\lib/libQtSqld.a(qsql_mysql.o)(.text+0x11fc):C:/Qt/4.3.0/src/sql/drivers/mysql/qsql_mysql.cpp:389: undefined reference t
ql_next_result@4'
4.3.0\lib/libQtSqld.a(qsql_mysql.o)(.text+0x1213):C:/Qt/4.3.0/src/sql/drivers/mysql/qsql_mysql.cpp:390: undefined reference t
ql_store_result@4'
4.3.0\lib/libQtSqld.a(qsql_mysql.o)(.text+0x122a):C:/Qt/4.3.0/src/sql/drivers/mysql/qsql_mysql.cpp:392: undefined reference t
ql_free_result@4'
4.3.0\lib/libQtSqld.a(qsql_mysql.o)(.text+0x124c):C:/Qt/4.3.0/src/sql/drivers/mysql/qsql_mysql.cpp:398: undefined reference t
ql_stmt_close@4'
4.3.0\lib/libQtSqld.a(qsql_mysql.o)(.text+0x1289):C:/Qt/4.3.0/src/sql/drivers/mysql/qsql_mysql.cpp:404: undefined reference t
ql_free_result@4'
4.3.0\lib/libQtSqld.a(qsql_mysql.o)(.text+0x14fa): In function `ZN12QMYSQLResult5fetchEi':
4.3.0/src/sql/drivers/mysql/qsql_mysql.cpp:450: undefined reference to `mysql_stmt_data_seek@12'
4.3.0\lib/libQtSqld.a(qsql_mysql.o)(.text+0x150e):C:/Qt/4.3.0/src/sql/drivers/mysql/qsql_mysql.cpp:452: undefined reference t
ql_stmt_fetch@4'
4.3.0\lib/libQtSqld.a(qsql_mysql.o)(.text+0x167b):C:/Qt/4.3.0/src/sql/drivers/mysql/qsql_mysql.cpp:461: undefined reference t
ql_data_seek@12'
4.3.0\lib/libQtSqld.a(qsql_mysql.o)(.text+0x169b):C:/Qt/4.3.0/src/sql/drivers/mysql/qsql_mysql.cpp:462: undefined reference t
ql_fetch_row@4'
4.3.0\lib/libQtSqld.a(qsql_mysql.o)(.text+0x171e): In function `ZN12QMYSQLResult9fetchNextEv':
4.3.0/src/sql/drivers/mysql/qsql_mysql.cpp:475: undefined reference to `mysql_stmt_fetch@4'
4.3.0\lib/libQtSqld.a(qsql_mysql.o)(.text+0x1745):C:/Qt/4.3.0/src/sql/drivers/mysql/qsql_mysql.cpp:481: undefined reference t
ql_fetch_row@4'
4.3.0\lib/libQtSqld.a(qsql_mysql.o)(.text+0x17ff): In function `ZN12QMYSQLResult9fetchLastEv':
4.3.0/src/sql/drivers/mysql/qsql_mysql.cpp:500: undefined reference to `mysql_stmt_num_rows@4'
4.3.0\lib/libQtSqld.a(qsql_mysql.o)(.text+0x181b):C:/Qt/4.3.0/src/sql/drivers/mysql/qsql_mysql.cpp:505: undefined reference t
ql_num_rows@4'
4.3.0\lib/libQtSqld.a(qsql_mysql.o)(.text+0x1b40): In function `ZN12QMYSQLResult4dataEi':
4.3.0/src/sql/drivers/mysql/qsql_mysql.cpp:546: undefined reference to `mysql_fetch_lengths@4'
4.3.0\lib/libQtSqld.a(qsql_mysql.o)(.text+0x265c): In function `ZN12QMYSQLResult5resetERK7QString':
4.3.0/src/sql/drivers/mysql/qsql_mysql.cpp:603: undefined reference to `mysql_real_query@12'
4.3.0\lib/libQtSqld.a(qsql_mysql.o)(.text+0x27ce):C:/Qt/4.3.0/src/sql/drivers/mysql/qsql_mysql.cpp:608: undefined reference t
ql_store_result@4'
4.3.0\lib/libQtSqld.a(qsql_mysql.o)(.text+0x27fa):C:/Qt/4.3.0/src/sql/drivers/mysql/qsql_mysql.cpp:609: undefined reference t
ql_field_count@4'
4.3.0\lib/libQtSqld.a(qsql_mysql.o)(.text+0x29a8):C:/Qt/4.3.0/src/sql/drivers/mysql/qsql_mysql.cpp:614: undefined reference t
ql_field_count@4'
4.3.0\lib/libQtSqld.a(qsql_mysql.o)(.text+0x2a02):C:/Qt/4.3.0/src/sql/drivers/mysql/qsql_mysql.cpp:617: undefined reference t
ql_affected_rows@4'
4.3.0\lib/libQtSqld.a(qsql_mysql.o)(.text+0x2a4e):C:/Qt/4.3.0/src/sql/drivers/mysql/qsql_mysql.cpp:620: undefined reference t
ql_fetch_field_direct@8'
4.3.0\lib/libQtSqld.a(qsql_mysql.o)(.text+0x2b9e): In function `ZN12QMYSQLResult4sizeEv':
4.3.0/src/sql/drivers/mysql/qsql_mysql.cpp:633: undefined reference to `mysql_stmt_num_rows@4'
4.3.0\lib/libQtSqld.a(qsql_mysql.o)(.text+0x2bb7):C:/Qt/4.3.0/src/sql/drivers/mysql/qsql_mysql.cpp:638: undefined reference t
ql_num_rows@4'
4.3.0\lib/libQtSqld.a(qsql_mysql.o)(.text+0x2c1c): In function `ZNK12QMYSQLResult12lastInsertIdEv':
4.3.0/src/sql/drivers/mysql/qsql_mysql.cpp:655: undefined reference to `mysql_stmt_insert_id@4'
4.3.0\lib/libQtSqld.a(qsql_mysql.o)(.text+0x2c5a):C:/Qt/4.3.0/src/sql/drivers/mysql/qsql_mysql.cpp:660: undefined reference t
ql_insert_id@4'
4.3.0\lib/libQtSqld.a(qsql_mysql.o)(.text+0x2d55): In function `ZNK12QMYSQLResult6recordEv':
4.3.0/src/sql/drivers/mysql/qsql_mysql.cpp:680: undefined reference to `mysql_errno@4'
4.3.0\lib/libQtSqld.a(qsql_mysql.o)(.text+0x2d73):C:/Qt/4.3.0/src/sql/drivers/mysql/qsql_mysql.cpp:681: undefined reference t
ql_field_seek@8'
4.3.0\lib/libQtSqld.a(qsql_mysql.o)(.text+0x2d81):C:/Qt/4.3.0/src/sql/drivers/mysql/qsql_mysql.cpp:682: undefined reference t
ql_fetch_field@4'
4.3.0\lib/libQtSqld.a(qsql_mysql.o)(.text+0x2e32):C:/Qt/4.3.0/src/sql/drivers/mysql/qsql_mysql.cpp:685: undefined reference t
ql_fetch_field@4'
4.3.0\lib/libQtSqld.a(qsql_mysql.o)(.text+0x2e57):C:/Qt/4.3.0/src/sql/drivers/mysql/qsql_mysql.cpp:688: undefined reference t
ql_field_seek@8'
4.3.0\lib/libQtSqld.a(qsql_mysql.o)(.text+0x307a): In function `ZN12QMYSQLResult7prepareERK7QString':
4.3.0/src/sql/drivers/mysql/qsql_mysql.cpp:730: undefined reference to `mysql_stmt_init@4'
4.3.0\lib/libQtSqld.a(qsql_mysql.o)(.text+0x3250):C:/Qt/4.3.0/src/sql/drivers/mysql/qsql_mysql.cpp:738: undefined reference t
ql_stmt_prepare@12'
4.3.0\lib/libQtSqld.a(qsql_mysql.o)(.text+0x3415):C:/Qt/4.3.0/src/sql/drivers/mysql/qsql_mysql.cpp:746: undefined reference t
ql_stmt_param_count@4'
4.3.0\lib/libQtSqld.a(qsql_mysql.o)(.text+0x3439):C:/Qt/4.3.0/src/sql/drivers/mysql/qsql_mysql.cpp:747: undefined reference t
ql_stmt_param_count@4'
4.3.0\lib/libQtSqld.a(qsql_mysql.o)(.text+0x361f): In function `ZN12QMYSQLResult4execEv':
4.3.0/src/sql/drivers/mysql/qsql_mysql.cpp:769: undefined reference to `mysql_stmt_reset@4'
4.3.0\lib/libQtSqld.a(qsql_mysql.o)(.text+0x37dc):C:/Qt/4.3.0/src/sql/drivers/mysql/qsql_mysql.cpp:776: undefined reference t
ql_stmt_param_count@4'
4.3.0\lib/libQtSqld.a(qsql_mysql.o)(.text+0x37f8):C:/Qt/4.3.0/src/sql/drivers/mysql/qsql_mysql.cpp:776: undefined reference t
ql_stmt_param_count@4'
4.3.0\lib/libQtSqld.a(qsql_mysql.o)(.text+0x3d8a):C:/Qt/4.3.0/src/sql/drivers/mysql/qsql_mysql.cpp:856: undefined reference t
ql_stmt_bind_param@8'
4.3.0\lib/libQtSqld.a(qsql_mysql.o)(.text+0x3f52):C:/Qt/4.3.0/src/sql/drivers/mysql/qsql_mysql.cpp:864: undefined reference t
ql_stmt_execute@4'
4.3.0\lib/libQtSqld.a(qsql_mysql.o)(.text+0x4149):C:/Qt/4.3.0/src/sql/drivers/mysql/qsql_mysql.cpp:876: undefined reference t
ql_stmt_affected_rows@4'
4.3.0\lib/libQtSqld.a(qsql_mysql.o)(.text+0x418d):C:/Qt/4.3.0/src/sql/drivers/mysql/qsql_mysql.cpp:881: undefined reference t
ql_stmt_bind_result@8'
4.3.0\lib/libQtSqld.a(qsql_mysql.o)(.text+0x4368):C:/Qt/4.3.0/src/sql/drivers/mysql/qsql_mysql.cpp:888: undefined reference t
ql_stmt_attr_set@12'
4.3.0\lib/libQtSqld.a(qsql_mysql.o)(.text+0x4386):C:/Qt/4.3.0/src/sql/drivers/mysql/qsql_mysql.cpp:890: undefined reference t
ql_stmt_store_result@4'
4.3.0\lib/libQtSqld.a(qsql_mysql.o)(.text+0x456b):C:/Qt/4.3.0/src/sql/drivers/mysql/qsql_mysql.cpp:902: undefined reference t
ql_stmt_bind_result@8'
4.3.0\lib/libQtSqld.a(qsql_mysql.o)(.text+0x49d0): In function `Z12qLibraryInitv':
4.3.0/src/sql/drivers/mysql/qsql_mysql.cpp:928: undefined reference to `mysql_server_init@12'
4.3.0\lib/libQtSqld.a(qsql_mysql.o)(.text+0x49f1): In function `Z11qLibraryEndv':
4.3.0/src/sql/drivers/mysql/qsql_mysql.cpp:943: undefined reference to `mysql_server_end@0'
4.3.0\lib/libQtSqld.a(qsql_mysql.o)(.text+0x5aa2): In function `ZN12QMYSQLDriver4openERK7QStringS2_S2_S2_iS2_':
4.3.0/src/sql/drivers/mysql/qsql_mysql.cpp:1087: undefined reference to `mysql_init@4'
4.3.0\lib/libQtSqld.a(qsql_mysql.o)(.text+0x5d29):C:/Qt/4.3.0/src/sql/drivers/mysql/qsql_mysql.cpp:1087: undefined reference
sql_real_connect@32'
4.3.0\lib/libQtSqld.a(qsql_mysql.o)(.text+0x5f73):C:/Qt/4.3.0/src/sql/drivers/mysql/qsql_mysql.cpp:1102: undefined reference
sql_select_db@8'
4.3.0\lib/libQtSqld.a(qsql_mysql.o)(.text+0x6249):C:/Qt/4.3.0/src/sql/drivers/mysql/qsql_mysql.cpp:1105: undefined reference
sql_close@4'
4.3.0\lib/libQtSqld.a(qsql_mysql.o)(.text+0x650d):C:/Qt/4.3.0/src/sql/drivers/mysql/qsql_mysql.cpp:1112: undefined reference
sql_close@4'
4.3.0\lib/libQtSqld.a(qsql_mysql.o)(.text+0x6585):C:/Qt/4.3.0/src/sql/drivers/mysql/qsql_mysql.cpp:1118: undefined reference
sql_set_character_set@8'
4.3.0\lib/libQtSqld.a(qsql_mysql.o)(.text+0x65c5):C:/Qt/4.3.0/src/sql/drivers/mysql/qsql_mysql.cpp:1125: undefined reference
sql_get_client_version@0'
4.3.0\lib/libQtSqld.a(qsql_mysql.o)(.text+0x65dc):C:/Qt/4.3.0/src/sql/drivers/mysql/qsql_mysql.cpp:1125: undefined reference
sql_get_server_version@4'
4.3.0\lib/libQtSqld.a(qsql_mysql.o)(.text+0x672c): In function `ZN12QMYSQLDriver5closeEv':
4.3.0/src/sql/drivers/mysql/qsql_mysql.cpp:1139: undefined reference to `mysql_close@4'
4.3.0\lib/libQtSqld.a(qsql_mysql.o)(.text+0x68b3): In function `ZNK12QMYSQLDriver6tablesEN4QSql9TableTypeE':
4.3.0/src/sql/drivers/mysql/qsql_mysql.cpp:1158: undefined reference to `mysql_list_tables@8'
4.3.0\lib/libQtSqld.a(qsql_mysql.o)(.text+0x68e8):C:/Qt/4.3.0/src/sql/drivers/mysql/qsql_mysql.cpp:1162: undefined reference
sql_data_seek@12'
4.3.0\lib/libQtSqld.a(qsql_mysql.o)(.text+0x68f6):C:/Qt/4.3.0/src/sql/drivers/mysql/qsql_mysql.cpp:1163: undefined reference
sql_fetch_row@4'
4.3.0\lib/libQtSqld.a(qsql_mysql.o)(.text+0x69ac):C:/Qt/4.3.0/src/sql/drivers/mysql/qsql_mysql.cpp:1169: undefined reference
sql_free_result@4'
4.3.0\lib/libQtSqld.a(qsql_mysql.o)(.text+0x74a0): In function `ZNK12QMYSQLDriver6recordERK7QString':
4.3.0/src/sql/drivers/mysql/qsql_mysql.cpp:1204: undefined reference to `mysql_list_fields@12'
4.3.0\lib/libQtSqld.a(qsql_mysql.o)(.text+0x74fa):C:/Qt/4.3.0/src/sql/drivers/mysql/qsql_mysql.cpp:1209: undefined reference
sql_fetch_field@4'
4.3.0\lib/libQtSqld.a(qsql_mysql.o)(.text+0x75b8):C:/Qt/4.3.0/src/sql/drivers/mysql/qsql_mysql.cpp:1211: undefined reference
sql_free_result@4'
4.3.0\lib/libQtSqld.a(qsql_mysql.o)(.text+0x76ba): In function `ZN12QMYSQLDriver16beginTransactionEv':
4.3.0/src/sql/drivers/mysql/qsql_mysql.cpp:1229: undefined reference to `mysql_query@8'
4.3.0\lib/libQtSqld.a(qsql_mysql.o)(.text+0x7872): In function `ZN12QMYSQLDriver17commitTransactionEv':
4.3.0/src/sql/drivers/mysql/qsql_mysql.cpp:1246: undefined reference to `mysql_query@8'
4.3.0\lib/libQtSqld.a(qsql_mysql.o)(.text+0x7a2a): In function `ZN12QMYSQLDriver19rollbackTransactionEv':
4.3.0/src/sql/drivers/mysql/qsql_mysql.cpp:1263: undefined reference to `mysql_query@8'
4.3.0\lib/libQtSqld.a(qsql_mysql.o)(.text+0x7f06): In function `ZNK12QMYSQLDriver11formatValueERK9QSqlFieldb':
4.3.0/src/sql/drivers/mysql/qsql_mysql.cpp:1288: undefined reference to `mysql_real_escape_string@16'
t2: ld returned 1 exit status
2-make[4]: *** [debug\cachedtable.exe] Error 1
2-make[4]: Leaving directory `C:/Qt/4.3.0/examples/sql/cachedtable'
2-make[3]: *** [debug-all] Error 2
2-make[3]: Leaving directory `C:/Qt/4.3.0/examples/sql/cachedtable'
2-make[2]: *** [sub-cachedtable-make_default] Error 2
2-make[2]: Leaving directory `C:/Qt/4.3.0/examples/sql'
2-make[1]: *** [sub-sql-make_default] Error 2
2-make[1]: Leaving directory `C:/Qt/4.3.0/examples'
2-make: *** [sub-examples-make_default-ordered] Error 2
Es stimmt also irgendetwas mit irgendwelchen mysql_character_set nicht, und mit irgendwelchen Debuginfos.
Diesen configure Befehl habe ich immer benutzt:
Code: Alles auswählen
configure -debug-and-release -I "C:\MySQL\include" -L "C:\MySQL\lib\debug" -static -no-fast -exceptions -accessibility -stl -qt-sql-mysql -qt-sql-odbc -arch windows -qt-zlib -qt-gif -qt-libpng -qt-libmng -qt-libtiff -qt-libjpeg -incredibuild-xge -qmake -no-qt3support -process -rtti -no-openssl -qt-style-windows -qt-style-windowsxp -qt-style-windowsvista -qt-style-plastique -qt-style-cleanlooks -qt-style-motif -qt-style-cde
Ich habe auch schon statt -static -shared versucht und bei -L nicht die debug sondern die bib. unter opt.
Hat jemand eine Ahnung? Ich bin für jeden Hinweis dankbar!
Gruß,
SuperSonik[/code]
Verfasst: 7. Juni 2007 17:05
von ChMaster
servus,
es wäre immer besser die umgebungsvariabeln in windows zu setzen
Lösung:
* die umgebungsvariabeln für mysql5 setzen
* configure mit der option: -plugin-sql-mysql (nur die plugins lieben

)
wenn die umgebungsvariabeln gesetzt sind findet configure die header und
die lib von mysql selbst.
Verfasst: 7. Juni 2007 17:22
von SuperSonik
Wie heißt den die passende Umgebungsvariable ?
Ist das dann "Lib" oder sowas? Ich hatte bisher nur mit Path zu tuen.
Danke schon mal!
Gruß,
SuperSonik
Verfasst: 7. Juni 2007 17:24
von ChMaster
servus,
woll wir mal nicht so sein und einem neuling etwas unter die arme greifen
Arbeitsplatz->rechte Maustaste->Eigenschaften->Erweitert->Umgebungsvariabeln
bei Systemvariabeln:
* Neu
* Name der Variabel: MYSQL
* Wert der Variabel: C:\Mysql
* ok
* Neu
* Name der Variabel: LIB
* Wert der Variabel: %MYSQL%\lib\opt;%LIB%
* ok
* Neu
* Name der Variabel: INCLUDE
* Wert der Variabel: %MYSQL%\include;%LIB%
* ok
* ok
* Neu
* Name der Variabel: PATH (wenn schon vorhanden, einfach hinten dran setzen und mit ; abschliessen)
* Wert der Variabel: %MYSQL%\bin;%PATH%
evtl. windows neustarten und schon kannste loslegen

Verfasst: 7. Juni 2007 17:29
von SuperSonik
Ja das kenne ich schon.
Nur da ist noch keine Variable definiert die offensichtlich für Bibliothekspfade
oder so ist. Also muß ich eine neue anlegen. Wie muß die nun heißen
damit configure da auch sucht ?
Gruß,
Sonik
Verfasst: 7. Juni 2007 17:31
von ChMaster
alles was du bei LIB rein steckst da sucht auch configure.
der name der variabel mus LIB heissen ...... siehe vorherigen
post von mir

Verfasst: 7. Juni 2007 19:01
von SuperSonik
Oh,
sorry ich habe nicht gut hingekuckt und habe den Teil mit den Variablen
für deine Signatur gehalten.
Ich probiere das mal aus, danke schon mal.
Gruß,
SuperSonik
Verfasst: 7. Juni 2007 21:04
von SuperSonik
ok,
ich habe es ausprobiert. Leider ist das Ergebnis das Gleiche.
Hat jemand Rat?

Gruß,
SuperSonik
Verfasst: 7. Juni 2007 21:46
von ChMaster
servus,
versuch mal das:
configure.exe -qt-sql-mysql -lmysql -I C:\MySql\include -L C:\MySql\lib\opt
(aus der QtWiki.)
natürlich musst du "C:\MySql" durch deinen pfad ersetzen und du brauchst
die "libMYSQL.dll".
Verfasst: 7. Juni 2007 21:54
von SuperSonik
Super,
sowas habe ich gesucht.
Vielen Dank. Ich denke, dass dieses reimp mein Problem löst.
Gruß,
SuperSonik
Verfasst: 8. Juni 2007 22:12
von ChMaster
servus,
hier mal ein kleiner tip von SuperSonik (kann sich derzeit nicht einloggen)
wie man das problem lösen kann:
Code: Alles auswählen
Mit diesem kleinen batch file konnte ich bei mir das mysql plugin compilieren.
Es ist auch nicht ein Problem von QT sondern Mingw, welches nämlich die normalen *.lib libraries nicht lesen kann.
cd %MYSQL%\lib\opt
reimp -d libmysql.lib
dlltool -k -d libmysql.def -l libmysql.a
cd C:\qt\src\plugins\sqldrivers\mysql
qmake -o Makefile "INCLUDEPATH+=C:\MYSQL\INCLUDE" "LIBS+=-LC:\MYSQL\LIB\OPT -lmysql" mysql.pro
mingw32-make
Verfasst: 9. Juni 2007 09:47
von SuperSonik
Hallo Leute,
also bei mir hat es jetzt endlich auch geklappt.
Und zwar mit dieser :
http://qtnode.net/wiki/Qt4_on_Windows
Anleitung.
Vielen Dank Leute !
Gruß,
SuperSonik