win764位下:VS2010+qt5.0.1+MySql5.6编译MySql驱动,报错

天地一扁舟 2014-10-07 07:15:47

D:\Qt\qt-everywhere-opensource-src-5.0.1\qtbase\src\plugins\sqldrivers\mysql>nma
ke

Microsoft (R) 程序维护实用工具 10.00.30319.01 版
版权所有(C) Microsoft Corporation。保留所有权利。

"d:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\BIN\nmake.exe" -
f Makefile.Release all

Microsoft (R) 程序维护实用工具 10.00.30319.01 版
版权所有(C) Microsoft Corporation。保留所有权利。

link /NOLOGO /DYNAMICBASE /NXCOMPAT /INCREMENTAL:NO /DLL /MANIFEST /MANI
FESTFILE:..\..\..\..\plugins\sqldrivers\qsqlmysql.dll.embed.manifest /OUT:..\..\
..\..\plugins\sqldrivers\qsqlmysql.dll @C:\Users\ADMINI~1\AppData\Local\Temp\nm7
FE0.tmp
正在创建库 ..\..\..\..\plugins\sqldrivers\qsqlmysql.lib 和对象 ..\..\..\..\pl
ugins\sqldrivers\qsqlmysql.exp
qsql_mysql.obj : error LNK2019: 无法解析的外部符号 _mysql_character_set_name@4,
该符号在函数 "class QTextCodec * __cdecl codec(struct st_mysql *)" (?codec@@YAPA
VQTextCodec@@PAUst_mysql@@@Z) 中被引用
qsql_mysql.obj : error LNK2019: 无法解析的外部符号 _mysql_errno@4,该符号在函数
"class QSqlError __cdecl qMakeError(class QString const &,enum QSqlError::ErrorT
ype,class QMYSQLDriverPrivate const *)" (?qMakeError@@YA?AVQSqlError@@ABVQString
@@W4ErrorType@1@PBVQMYSQLDriverPrivate@@@Z) 中被引用
qsql_mysql.obj : error LNK2019: 无法解析的外部符号 _mysql_error@4,该符号在函数
"class QSqlError __cdecl qMakeError(class QString const &,enum QSqlError::ErrorT
ype,class QMYSQLDriverPrivate const *)" (?qMakeError@@YA?AVQSqlError@@ABVQString
@@W4ErrorType@1@PBVQMYSQLDriverPrivate@@@Z) 中被引用
qsql_mysql.obj : error LNK2019: 无法解析的外部符号 _mysql_stmt_errno@4,该符号在
函数 "class QSqlError __cdecl qMakeStmtError(class QString const &,enum QSqlErro
r::ErrorType,struct st_mysql_stmt *)" (?qMakeStmtError@@YA?AVQSqlError@@ABVQStri
ng@@W4ErrorType@1@PAUst_mysql_stmt@@@Z) 中被引用
qsql_mysql.obj : error LNK2019: 无法解析的外部符号 _mysql_stmt_error@4,该符号在
函数 "class QSqlError __cdecl qMakeStmtError(class QString const &,enum QSqlErro
r::ErrorType,struct st_mysql_stmt *)" (?qMakeStmtError@@YA?AVQSqlError@@ABVQStri
ng@@W4ErrorType@1@PAUst_mysql_stmt@@@Z) 中被引用
qsql_mysql.obj : error LNK2019: 无法解析的外部符号 _mysql_fetch_row@4,该符号在
函数 "protected: virtual bool __thiscall QMYSQLResult::fetch(int)" (?fetch@QMYSQ
LResult@@MAE_NH@Z) 中被引用
qsql_mysql.obj : error LNK2019: 无法解析的外部符号 _mysql_data_seek@12,该符号在
函数 "protected: virtual bool __thiscall QMYSQLResult::fetch(int)" (?fetch@QMYSQ
LResult@@MAE_NH@Z) 中被引用
qsql_mysql.obj : error LNK2019: 无法解析的外部符号 _mysql_stmt_fetch@4,该符号在
函数 "protected: virtual bool __thiscall QMYSQLResult::fetch(int)" (?fetch@QMYSQ
LResult@@MAE_NH@Z) 中被引用
qsql_mysql.obj : error LNK2019: 无法解析的外部符号 _mysql_stmt_data_seek@12,该
符号在函数 "protected: virtual bool __thiscall QMYSQLResult::fetch(int)" (?fetch
@QMYSQLResult@@MAE_NH@Z) 中被引用
qsql_mysql.obj : error LNK2019: 无法解析的外部符号 _mysql_num_rows@4,该符号在函
数 "protected: virtual bool __thiscall QMYSQLResult::fetchLast(void)" (?fetchLas
t@QMYSQLResult@@MAE_NXZ) 中被引用
qsql_mysql.obj : error LNK2019: 无法解析的外部符号 _mysql_stmt_num_rows@4,该符
号在函数 "protected: virtual bool __thiscall QMYSQLResult::fetchLast(void)" (?fe
tchLast@QMYSQLResult@@MAE_NXZ) 中被引用
qsql_mysql.obj : error LNK2019: 无法解析的外部符号 _mysql_insert_id@4,该符号在
函数 "protected: virtual class QVariant __thiscall QMYSQLResult::lastInsertId(vo
id)const " (?lastInsertId@QMYSQLResult@@MBE?AVQVariant@@XZ) 中被引用
qsql_mysql.obj : error LNK2019: 无法解析的外部符号 _mysql_stmt_insert_id@4,该符
号在函数 "protected: virtual class QVariant __thiscall QMYSQLResult::lastInsertI
d(void)const " (?lastInsertId@QMYSQLResult@@MBE?AVQVariant@@XZ) 中被引用
qsql_mysql.obj : error LNK2019: 无法解析的外部符号 _mysql_fetch_field@4,该符号
在函数 "protected: virtual class QSqlRecord __thiscall QMYSQLResult::record(void
)const " (?record@QMYSQLResult@@MBE?AVQSqlRecord@@XZ) 中被引用
qsql_mysql.obj : error LNK2019: 无法解析的外部符号 _mysql_field_seek@8,该符号在
函数 "protected: virtual class QSqlRecord __thiscall QMYSQLResult::record(void)c
onst " (?record@QMYSQLResult@@MBE?AVQSqlRecord@@XZ) 中被引用
qsql_mysql.obj : error LNK2019: 无法解析的外部符号 _mysql_close@4,该符号在函数
"public: virtual void __thiscall QMYSQLDriver::close(void)" (?close@QMYSQLDriver
@@UAEXXZ) 中被引用
qsql_mysql.obj : error LNK2019: 无法解析的外部符号 _mysql_thread_end@0,该符号在
函数 "public: virtual void __thiscall QMYSQLDriver::close(void)" (?close@QMYSQLD
river@@UAEXXZ) 中被引用
qsql_mysql.obj : error LNK2019: 无法解析的外部符号 _mysql_free_result@4,该符号
在函数 "public: virtual class QSqlRecord __thiscall QMYSQLDriver::record(class Q
String const &)const " (?record@QMYSQLDriver@@UBE?AVQSqlRecord@@ABVQString@@@Z)
中被引用
qsql_mysql.obj : error LNK2019: 无法解析的外部符号 _mysql_list_fields@12,该符号
在函数 "public: virtual class QSqlRecord __thiscall QMYSQLDriver::record(class Q
String const &)const " (?record@QMYSQLDriver@@UBE?AVQSqlRecord@@ABVQString@@@Z)
中被引用
...
String const &)" (?open@QMYSQLDriver@@UAE_NABVQString@@000H0@Z) 中被引用
qsql_mysql.obj : error LNK2019: 无法解析的外部符号 _mysql_init@4,该符号在函数 "
public: virtual bool __thiscall QMYSQLDriver::open(class QString const &,class Q
String const &,class QString const &,class QString const &,int,class QString con
st &)" (?open@QMYSQLDriver@@UAE_NABVQString@@000H0@Z) 中被引用
qsql_mysql.obj : error LNK2019: 无法解析的外部符号 _mysql_list_tables@8,该符号
在函数 "public: virtual class QStringList __thiscall QMYSQLDriver::tables(enum Q
Sql::TableType)const " (?tables@QMYSQLDriver@@UBE?AVQStringList@@W4TableType@QSq
l@@@Z) 中被引用
qsql_mysql.obj : error LNK2019: 无法解析的外部符号 _mysql_num_fields@4,该符号在
函数 "public: bool __thiscall QMYSQLResultPrivate::bindInValues(void)" (?bindInV
alues@QMYSQLResultPrivate@@QAE_NXZ) 中被引用
qsql_mysql.obj : error LNK2019: 无法解析的外部符号 _mysql_stmt_result_metadata@4
,该符号在函数 "public: bool __thiscall QMYSQLResultPrivate::bindInValues(void)"
(?bindInValues@QMYSQLResultPrivate@@QAE_NXZ) 中被引用
qsql_mysql.obj : error LNK2019: 无法解析的外部符号 _mysql_stmt_close@4,该符号在
函数 "protected: void __thiscall QMYSQLResult::cleanup(void)" (?cleanup@QMYSQLRe
sult@@IAEXXZ) 中被引用
qsql_mysql.obj : error LNK2019: 无法解析的外部符号 _mysql_store_result@4,该符号
在函数 "protected: void __thiscall QMYSQLResult::cleanup(void)" (?cleanup@QMYSQL
Result@@IAEXXZ) 中被引用
qsql_mysql.obj : error LNK2019: 无法解析的外部符号 _mysql_next_result@4,该符号
在函数 "protected: void __thiscall QMYSQLResult::cleanup(void)" (?cleanup@QMYSQL
Result@@IAEXXZ) 中被引用
qsql_mysql.obj : error LNK2019: 无法解析的外部符号 _mysql_fetch_field_direct@8,
该符号在函数 "protected: virtual bool __thiscall QMYSQLResult::reset(class QStri
ng const &)" (?reset@QMYSQLResult@@MAE_NABVQString@@@Z) 中被引用
qsql_mysql.obj : error LNK2019: 无法解析的外部符号 _mysql_affected_rows@4,该符
号在函数 "protected: virtual bool __thiscall QMYSQLResult::reset(class QString c
onst &)" (?reset@QMYSQLResult@@MAE_NABVQString@@@Z) 中被引用
qsql_mysql.obj : error LNK2019: 无法解析的外部符号 _mysql_field_count@4,该符号
在函数 "protected: virtual bool __thiscall QMYSQLResult::reset(class QString con
st &)" (?reset@QMYSQLResult@@MAE_NABVQString@@@Z) 中被引用
qsql_mysql.obj : error LNK2019: 无法解析的外部符号 _mysql_real_query@12,该符号
在函数 "protected: virtual bool __thiscall QMYSQLResult::reset(class QString con
st &)" (?reset@QMYSQLResult@@MAE_NABVQString@@@Z) 中被引用
qsql_mysql.obj : error LNK2019: 无法解析的外部符号 _mysql_stmt_param_count@4,该
符号在函数 "protected: virtual bool __thiscall QMYSQLResult::prepare(class QStri
ng const &)" (?prepare@QMYSQLResult@@MAE_NABVQString@@@Z) 中被引用
qsql_mysql.obj : error LNK2019: 无法解析的外部符号 _mysql_stmt_prepare@12,该符
号在函数 "protected: virtual bool __thiscall QMYSQLResult::prepare(class QString
const &)" (?prepare@QMYSQLResult@@MAE_NABVQString@@@Z) 中被引用
qsql_mysql.obj : error LNK2019: 无法解析的外部符号 _mysql_stmt_init@4,该符号在
函数 "protected: virtual bool __thiscall QMYSQLResult::prepare(class QString con
st &)" (?prepare@QMYSQLResult@@MAE_NABVQString@@@Z) 中被引用
qsql_mysql.obj : error LNK2019: 无法解析的外部符号 _mysql_stmt_store_result@4,
该符号在函数 "protected: virtual bool __thiscall QMYSQLResult::exec(void)" (?exe
c@QMYSQLResult@@MAE_NXZ) 中被引用
qsql_mysql.obj : error LNK2019: 无法解析的外部符号 _mysql_stmt_attr_set@12,该符
号在函数 "protected: virtual bool __thiscall QMYSQLResult::exec(void)" (?exec@QM
YSQLResult@@MAE_NXZ) 中被引用
qsql_mysql.obj : error LNK2019: 无法解析的外部符号 _mysql_stmt_bind_result@8,该
符号在函数 "protected: virtual bool __thiscall QMYSQLResult::exec(void)" (?exec@
QMYSQLResult@@MAE_NXZ) 中被引用
qsql_mysql.obj : error LNK2019: 无法解析的外部符号 _mysql_stmt_affected_rows@4,
该符号在函数 "protected: virtual bool __thiscall QMYSQLResult::exec(void)" (?exe
c@QMYSQLResult@@MAE_NXZ) 中被引用
qsql_mysql.obj : error LNK2019: 无法解析的外部符号 _mysql_stmt_execute@4,该符号
在函数 "protected: virtual bool __thiscall QMYSQLResult::exec(void)" (?exec@QMYS
QLResult@@MAE_NXZ) 中被引用
qsql_mysql.obj : error LNK2019: 无法解析的外部符号 _mysql_stmt_bind_param@8,该
符号在函数 "protected: virtual bool __thiscall QMYSQLResult::exec(void)" (?exec@
QMYSQLResult@@MAE_NXZ) 中被引用
qsql_mysql.obj : error LNK2019: 无法解析的外部符号 _mysql_stmt_reset@4,该符号在
函数 "protected: virtual bool __thiscall QMYSQLResult::exec(void)" (?exec@QMYSQL
Result@@MAE_NXZ) 中被引用
..\..\..\..\plugins\sqldrivers\qsqlmysql.dll : fatal error LNK1120: 50 个无法解
析的外部命令
NMAKE : fatal error U1077: “"d:\Program Files (x86)\Microsoft Visual Studio 10.
0\VC\BIN\link.EXE"”: 返回代码“0x460”
Stop.
NMAKE : fatal error U1077: “"d:\Program Files (x86)\Microsoft Visual Studio 10.
0\VC\BIN\nmake.exe"”: 返回代码“0x2”
Stop.

我找了网上各种方法,仍然编译不出MySql驱动,希望诸位朋友能帮忙看一下。谢谢了。
...全文
617 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
Crawl.W 2016-11-13
  • 打赏
  • 举报
回复
引用 6 楼 wghs08 的回复:
老兄,我编译成功了,但是也不知道能不能算成功了,在windows 64下面我用的一直是64的mysql,所以编译出现你上面列出的问题,但是我现在换成了mydql 32位的,就没有出现这个问题了,至于为什么64位不行,我也有些搞不清楚了
但是编译成32bit驱动64bit程序不能用啊,你是否可以使用呢?
iamspoon 2015-11-10
  • 打赏
  • 举报
回复
引用 7 楼 majesty_ 的回复:
版主,我遇到和你一样的问题,用nmake编译时出现 : 正在创建库 debug\qsqlmysqld4.lib 和对象 debug\qsqlmysqld4.exp LINK : fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏 NMAKE : fatal error U1077: “d:\vs2010\VS2010\VC\BIN\link.EXE”: 返回代码“0x46 ” Stop. NMAKE : fatal error U1077: “d:\vs2010\VS2010\VC\BIN\nmake.exe”: 返回代码“0x2 ” Stop. 请问您问题解决了没,怎么解决的?
基本和我一样
bae_ 2015-07-16
  • 打赏
  • 举报
回复
版主,我遇到和你一样的问题,用nmake编译时出现 :
正在创建库 debug\qsqlmysqld4.lib 和对象 debug\qsqlmysqld4.exp
LINK : fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏
NMAKE : fatal error U1077: “d:\vs2010\VS2010\VC\BIN\link.EXE”: 返回代码“0x46

Stop.
NMAKE : fatal error U1077: “d:\vs2010\VS2010\VC\BIN\nmake.exe”: 返回代码“0x2

Stop.

请问您问题解决了没,怎么解决的?
wghs08 2014-12-08
  • 打赏
  • 举报
回复
老兄,我编译成功了,但是也不知道能不能算成功了,在windows 64下面我用的一直是64的mysql,所以编译出现你上面列出的问题,但是我现在换成了mydql 32位的,就没有出现这个问题了,至于为什么64位不行,我也有些搞不清楚了
wghs08 2014-12-08
  • 打赏
  • 举报
回复
我装的是qt 4.8编译出现跟你一样的问题,晕了,怎么弄啊,在xp上与vs2008编译也没有问题,但是一到window64位的vs2010问题就好多了,纠结了
feilinhe 2014-10-07
  • 打赏
  • 举报
回复
直接用用VS打开.pro编译
天地一扁舟 2014-10-07
  • 打赏
  • 举报
回复
引用 1 楼 feilinhe 的回复:
编译驱动你得包含mysql相关的 .h与.lib库啊 ,不是直接就能编译的~
我已经下载了MySql了,并且把include和lib文件夹考到没有空格和中文的路径上, 用:进入到sqldrivers\mysql目录下面,执行编译了 qmake "INCLUDEPATH+=C:\MySql\include" "LIBS+=C:\MySql\lib\libmysql.lib" -o Makefile mysql.pro 这步没有发生错误, 但是用VS的command prompt进入到sqldrivers\mysql目录下,执行nmake,出现上述错误
feilinhe 2014-10-07
  • 打赏
  • 举报
回复
另外,如果你对.pro工程文件比较熟悉的话,可以直接改写,并用 QtCreator或VS进行编译比较好~
feilinhe 2014-10-07
  • 打赏
  • 举报
回复
编译驱动你得包含mysql相关的 .h与.lib库啊 ,不是直接就能编译的~

16,213

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧