Tottish
12th December 2010, 14:55
Hi!
So, here we go again. I've decided to develop applications on my laptop so I'm back to scratch on compiling the driver for mySQL.
I've already done it on my desktop computer (and it drove me to the edge of sanity) with the same operating system so I was hoping that the same .a and .dll's would work, but no. Unfortunately I don't remember exactly how I got it to work but I do remember it was by compiling it with nmake and it has worked fine for a good while even though I usually use minGW for compiling my applications.
Any way, Ive tied the standard way (using nmake) from the docs (http://doc.qt.nokia.com/4.7/sql-driver.html#qmysql) and I get this error a short while after running nmake:
g++ -enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-ps
eudo-reloc -mthreads -Wl -shared -Wl,--out-implib,c:\Qt\2010.05\qt\plugins\sqldr
ivers\libqsqlmysqld4.a -o ..\..\..\..\plugins\sqldrivers\qsqlmysqld4.dll tmp/obj
/debug_shared/main.o tmp/obj/debug_shared/qsql_mysql.o tmp/obj/debug_shared/mo
c_qsql_mysql.o -L"c:\Qt\2010.05\qt\lib" -L"c:\Qt\2010.05\qt\lib" tmp\obj\debug_
shared\qsqlmysqld_resource_res.o C:\mysql51\lib\opt\libmysql.lib -lQtSqld4 -lQtC
ored4
Creating library file: c:\Qt\2010.05\qt\plugins\sqldrivers\libqsqlmysqld4 .a
tmp/obj/debug_shared/qsql_mysql.o: In function `codec':
C:\Qt\2010.05\qt\src\plugins\sqldrivers\mysql/../../../sql/drivers/mysql/qsql_my
sql.cpp:223: undefined reference to `mysql_character_set_name@4'
tmp/obj/debug_shared/qsql_mysql.o: In function `qMakeError':
C:\Qt\2010.05\qt\src\plugins\sqldrivers\mysql/../../../sql/drivers/mysql/qsql_my
sql.cpp:234: undefined reference to `mysql_error@4'
C:\Qt\2010.05\qt\src\plugins\sqldrivers\mysql/../../../sql/drivers/mysql/qsql_my
sql.cpp:237: undefined reference to `mysql_errno@4'
tmp/obj/debug_shared/qsql_mysql.o: In function `qMakeStmtError':
C:\Qt\2010.05\qt\src\plugins\sqldrivers\mysql/../../../sql/drivers/mysql/qsql_my
sql.cpp:309: undefined reference to `mysql_stmt_error@4'
C:\Qt\2010.05\qt\src\plugins\sqldrivers\mysql/../../../sql/drivers/mysql/qsql_my
sql.cpp:312: undefined reference to `mysql_stmt_errno@4'
tmp/obj/debug_shared/qsql_mysql.o:C:\Qt\2010.05\qt\src\plugins\sqldrive rs\mysql/
../../../sql/drivers/mysql/qsql_mysql.cpp:358: undefined reference to `mysql_stm
t_result_metadata@4'
tmp/obj/debug_shared/qsql_mysql.o:C:\Qt\2010.05\qt\src\plugins\sqldrive rs\mysql/
../../../sql/drivers/mysql/qsql_mysql.cpp:362: undefined reference to `mysql_num
_fields@4'
tmp/obj/debug_shared/qsql_mysql.o:C:\Qt\2010.05\qt\src\plugins\sqldrive rs\mysql/
../../../sql/drivers/mysql/qsql_mysql.cpp:369: undefined reference to `mysql_fet
ch_field@4'
tmp/obj/debug_shared/qsql_mysql.o:C:\Qt\2010.05\qt\src\plugins\sqldrive rs\mysql/
../../../sql/drivers/mysql/qsql_mysql.cpp:432: undefined reference to `mysql_fre
e_result@4'
tmp/obj/debug_shared/qsql_mysql.o:C:\Qt\2010.05\qt\src\plugins\sqldrive rs\mysql/
../../../sql/drivers/mysql/qsql_mysql.cpp:438: undefined reference to `mysql_sto
re_result@4'
......
......
tmp/obj/debug_shared/qsql_mysql.o:C:\Qt\2010.05\qt\src\plugins\sqldrive rs\mysql/
../../../sql/drivers/mysql/qsql_mysql.cpp:1507: undefined reference to `mysql_re
al_escape_string@16'
collect2: ld returned 1 exit status
NMAKE : fatal error U1077: 'C:\Qt\2010.05\mingw\bin\g++.EXE' : return code '0x1'
Stop.
NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio 10.0
\VC\bin\nmake.exe"' : return code '0x2'
Stop.
Could anyone help me with this?
Thanks a lot!
/Tottish
So, here we go again. I've decided to develop applications on my laptop so I'm back to scratch on compiling the driver for mySQL.
I've already done it on my desktop computer (and it drove me to the edge of sanity) with the same operating system so I was hoping that the same .a and .dll's would work, but no. Unfortunately I don't remember exactly how I got it to work but I do remember it was by compiling it with nmake and it has worked fine for a good while even though I usually use minGW for compiling my applications.
Any way, Ive tied the standard way (using nmake) from the docs (http://doc.qt.nokia.com/4.7/sql-driver.html#qmysql) and I get this error a short while after running nmake:
g++ -enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-ps
eudo-reloc -mthreads -Wl -shared -Wl,--out-implib,c:\Qt\2010.05\qt\plugins\sqldr
ivers\libqsqlmysqld4.a -o ..\..\..\..\plugins\sqldrivers\qsqlmysqld4.dll tmp/obj
/debug_shared/main.o tmp/obj/debug_shared/qsql_mysql.o tmp/obj/debug_shared/mo
c_qsql_mysql.o -L"c:\Qt\2010.05\qt\lib" -L"c:\Qt\2010.05\qt\lib" tmp\obj\debug_
shared\qsqlmysqld_resource_res.o C:\mysql51\lib\opt\libmysql.lib -lQtSqld4 -lQtC
ored4
Creating library file: c:\Qt\2010.05\qt\plugins\sqldrivers\libqsqlmysqld4 .a
tmp/obj/debug_shared/qsql_mysql.o: In function `codec':
C:\Qt\2010.05\qt\src\plugins\sqldrivers\mysql/../../../sql/drivers/mysql/qsql_my
sql.cpp:223: undefined reference to `mysql_character_set_name@4'
tmp/obj/debug_shared/qsql_mysql.o: In function `qMakeError':
C:\Qt\2010.05\qt\src\plugins\sqldrivers\mysql/../../../sql/drivers/mysql/qsql_my
sql.cpp:234: undefined reference to `mysql_error@4'
C:\Qt\2010.05\qt\src\plugins\sqldrivers\mysql/../../../sql/drivers/mysql/qsql_my
sql.cpp:237: undefined reference to `mysql_errno@4'
tmp/obj/debug_shared/qsql_mysql.o: In function `qMakeStmtError':
C:\Qt\2010.05\qt\src\plugins\sqldrivers\mysql/../../../sql/drivers/mysql/qsql_my
sql.cpp:309: undefined reference to `mysql_stmt_error@4'
C:\Qt\2010.05\qt\src\plugins\sqldrivers\mysql/../../../sql/drivers/mysql/qsql_my
sql.cpp:312: undefined reference to `mysql_stmt_errno@4'
tmp/obj/debug_shared/qsql_mysql.o:C:\Qt\2010.05\qt\src\plugins\sqldrive rs\mysql/
../../../sql/drivers/mysql/qsql_mysql.cpp:358: undefined reference to `mysql_stm
t_result_metadata@4'
tmp/obj/debug_shared/qsql_mysql.o:C:\Qt\2010.05\qt\src\plugins\sqldrive rs\mysql/
../../../sql/drivers/mysql/qsql_mysql.cpp:362: undefined reference to `mysql_num
_fields@4'
tmp/obj/debug_shared/qsql_mysql.o:C:\Qt\2010.05\qt\src\plugins\sqldrive rs\mysql/
../../../sql/drivers/mysql/qsql_mysql.cpp:369: undefined reference to `mysql_fet
ch_field@4'
tmp/obj/debug_shared/qsql_mysql.o:C:\Qt\2010.05\qt\src\plugins\sqldrive rs\mysql/
../../../sql/drivers/mysql/qsql_mysql.cpp:432: undefined reference to `mysql_fre
e_result@4'
tmp/obj/debug_shared/qsql_mysql.o:C:\Qt\2010.05\qt\src\plugins\sqldrive rs\mysql/
../../../sql/drivers/mysql/qsql_mysql.cpp:438: undefined reference to `mysql_sto
re_result@4'
......
......
tmp/obj/debug_shared/qsql_mysql.o:C:\Qt\2010.05\qt\src\plugins\sqldrive rs\mysql/
../../../sql/drivers/mysql/qsql_mysql.cpp:1507: undefined reference to `mysql_re
al_escape_string@16'
collect2: ld returned 1 exit status
NMAKE : fatal error U1077: 'C:\Qt\2010.05\mingw\bin\g++.EXE' : return code '0x1'
Stop.
NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio 10.0
\VC\bin\nmake.exe"' : return code '0x2'
Stop.
Could anyone help me with this?
Thanks a lot!
/Tottish