qt-qt5.15.0连接mysql报错之如何生成qsqlmysql.dll和qsqlmysql.dll.debug链接库文件
通过阅读参考文章,我并没有生成预期到的qsqlmysql.dll和qsqlmysqld.dll两个dll文件,实际上我安装的qt5.15.0 里面需要生成的文件已经变成了qsqlmysql.dll和qsqlmysql.dll.debug了
说遇到的问题
问题:error: mysql.h: No such file or directory
#include <mysql.h>
^~~~~~~~~
问题截图:
解决办法:
错误代码
ARGET = qsqlmysql
HEADERS += $$PWD/qsql_mysql_p.h
SOURCES += $$PWD/qsql_mysql.cpp $$PWD/main.cpp
#QMAKE_USE += mysql
OTHER_FILES += mysql.json
PLUGIN_CLASS_NAME = QMYSQLDriverPlugin
include(../qsqldriverbase.pri)
INCLUDEPATH += C:\Program Files\MySQL\MySQL Server 8.0\include
LIBS += C:\Program Files\MySQL\MySQL Server 8.0\lib\libmysql.lib
单纯的复制粘贴路径,忘记了qt里面所有路径不能包含括号,qt读取字符串读到空格就会停止所以,我们将MySQL Server 8.0文件夹里的内容复制出来到你新建好的任意文件夹 文件夹名字不能有空格!!!
修改后的mysql.pro
TARGET = qsqlmysql
HEADERS += $$PWD/qsql_mysql_p.h
SOURCES += $$PWD/qsql_mysql.cpp $$PWD/main.cpp
#QMAKE_USE += mysql
OTHER_FILES += mysql.json
PLUGIN_CLASS_NAME = QMYSQLDriverPlugin
include(../qsqldriverbase.pri)
INCLUDEPATH += W:/mysqlserve8.0/include/
LIBS += W:/mysqlserve8.0/lib/libmysql.lib
出现以下错误就证明已经生成所需要的文件了
没有设定输出文件夹一般都会在你qt安装位置的根目录下
将需要的两个文件放到你编译工具下sqldrivers文件夹里
重新编译运行编写好的例子,看到我们有mysql的驱动了
使用32位mysql用qt自带的mingw32编译,使用64位mysql用qt自带的mingw64编译,不要弄错了
下面是我编译好的文件,要是能自己编译的话,自己动手,毕竟是一门动手的学科
编译好的dll文件