带有 MSVS2017 编译器的 64 位 Qt 的 libmysql.dll
Posted
技术标签:
【中文标题】带有 MSVS2017 编译器的 64 位 Qt 的 libmysql.dll【英文标题】:libmysql.dll for 64bit Qt w/ MSVS2017 compiler 【发布时间】:2018-03-30 11:25:04 【问题描述】:我一直在使用 MinGW,为了不得到臭名昭著的输出,我所要做的就是将 32 位 libmysql.dll 文件复制到可执行文件所在的位置:
QSqlDatabase: MYSQL 驱动未加载
QSqlDatabase:可用驱动程序:QSQLITE QMYSQL QMYSQL3 QODBC QODBC3 QPSQL QPSQL7
现在我正在尝试使用 MSVS2017 64 位编译器编译我的应用程序。我尝试同时使用 32 位和 64 位 libmysql.dll
文件,但没有运气 - 我收到警告并且 QSqlDatabase 无法打开。我找到了这个网站:https://wiki.qt.io/How_to_load_a_sql_driver_correctly,但它似乎已经过时且含糊不清。任何已知的问题解决方案?
【问题讨论】:
您使用哪种 MinGW64 版本?我可以建议切换到 MSYS2 构建,并按照构建说明forums.mysql.com/read.php?117,425191,425191 @VictorGubin 我根本没有使用 MinGW,我只安装了 64 位 MSVS2017 和 UWP 编译器,以及 CDB 调试器。 【参考方案1】:使用 MSVS 你需要qsqlmysql4.dll
,通常需要从源代码构建你的 MySQL 驱动器,你可以关注Qt documentation How to Build the QMYSQL Plugin on Windows 来做。
【讨论】:
我已经按照说明构建了插件,但我有 qsqlmysql.dll 和 qsqlmysqld.dll 文件,而不是 qsqlmysql4.dll 文件。将 libmysql.dll 和我必须的其他 DLL 复制到不同的位置(例如 EXE 所在的位置或插件/sqldrivers)仍然会给我“QSqlDatabase:MYSQL 驱动程序未加载”错误。我错过了什么? 你是否在 Creator 中将库添加到 sql 中?它对我有用。 是的,谢谢,它现在可以工作了,我做了一些愚蠢的事,没有注意到,没关系:D以上是关于带有 MSVS2017 编译器的 64 位 Qt 的 libmysql.dll的主要内容,如果未能解决你的问题,请参考以下文章