自己在实训时候发现一些问题找了好久才解决的,希望可以帮到你。
部分路径要你自己修改这里我就不多解释了。
目录
老师给的流程
0、下载Mysql5.7.23-Windows版本并安装
下载链接:MySQL :: Download MySQL Community Server (Archived Versions)
1、打开MySQL源码项目
Qt5.12安装目录如下
Qt\Qt5.12.2\5.12.2\Src\qtbase\src\plugins\sqldrivers\mysql
2、编译MySQL驱动代码
代码结构:
直接编译报错: 数据库驱动没有定义
问题分析: 由于没有指定MySQL动态库的路径
3. 修改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
win32:LIBS += -LD:/mysql-5.7.23-winx64/lib/ -llibmysql
INCLUDEPATH += D:/mysql-5.7.23-winx64/include
DEPENDPATH += D:/mysql-5.7.23-winx64/include
include(../qsqldriverbase.pri)
新增加内容如下:
4、 编译之后得到对应的库
我的Qt安装的路径:H:\Qt\Qt5.12.2
最终得到的驱动目录就在H盘
将qsqlmysql.dll和qsqlmysqld.dll拷贝到Qt的安装目录下H:\Qt\Qt5.12.2\5.12.2\mingw73_64\plugins\sqldrivers
5、拷贝动态库到指定的目录
将libmysql.dll下载后复制到Qt的安装目录中
问题
解决找不到pri文件(好长不想打,看图)的问题,因为该文件夹只有config.pri
其次就是大量报错和无法解析的外部符号,需要与数据库MySQL对应位数,我这里都是64就可以解决,mysql位数基本文件夹名就有,修改编译器的方式
再者就是LNK1146: 没有用选项“/LIBPATH:”指定的参数,这个原因我也找了好久,网上都是说路径问题,如果你的路径中有空格比如program file这样,可以找一下网络上的方法试试,我的是没有空格的,最后发现可能是之前编译出错导致的,重构项目(菜单栏构建中有重构项目,菜单栏打开的时候qq截图不了)或者删除之前的debug文件夹再次编译就可以解决
哦,再说一下编译mysql后生成dill的位置吧,默认在你Qt安装盘的位置
我遇到的问题就这么多,希望可以帮到你