Qt连接MySql驱动加载失败问题解决方法

本文来自:IT宝库(https://www.itbaoku.cn)

在使用Qt连接mysql数据库的时候,遇到过这样的报错,做一下记录和总结。

  报错如下:

       (1)QSqlDatabase: QMYSQL driver not loaded
  (2)QSqlDatabase: available drivers: QSQLITE QODBC QODBC3 QPSQL QPSQL7

       Qt、Mysql编辑器版本背景:
    Qt版本是5.13.2,编译器是MSVC2015_64,是x64位。
    mysql版本是5.7.29-winx64,也是x64位。


      问题解析:

  Qt目录里缺失了和Mysql的连接插件qsqlmysql.dll。在这种情况下,单纯地将Mysql目录下的lib文件夹下的libmysql.dll复制到Qt的目录下的bin目录下是无用的。

      解决方法:

  1.先看看自己的Qt目录下有没有连接插件qsqlmysql.dll,文件夹位置:                        E:\Qt\Qt5.13.2\5.13.2\msvc2015_64\plugins\sqldrivers

  


  2. 在没有连接插件qmysql.dll的情况下进入第二步,通过Qt里的src源码中的mysql源码来编译出qmysql.dll文件。先找到Qt目录源码里的mysql的源码,因为我在安装Qt是没有选择安装src源码,所以我重新从官网上下载了qt-everywhere-src-5.13.2.zip,内里是Qt源码文件。我的路径是:E:\Qt\qt-everywhere-src-5.13.2\qtbase\src\plugins\sqldrivers\mysql。

            

双击打开mysql.pro,进入Qt creator编译器界面,添加下面的三行代码:

INCLUDEPATH +=E:/DateBase/Mysql/mysql-5.7.29-winx64/include/    # 添加你自己的mysql安装目录下的include文件夹
LIBS += E:/DateBase/Mysql/mysql-5.7.29-winx64/lib/libmysql.lib # 添加你的mysql安装目录下的lib文件夹下的libmysql.lib文件
DESTDIR = ../mysql/mysqlDll    # 设置编译好的qmysql.dll放置的目录,不然你可能不知道会生成在哪。


然后进行构建,就是界面左下角的锤子,这时会出现如下的两个错误:
Cannot read H:/qtsqldrivers-config.pri: No such file or directory
Project ERROR: Library 'mysql' is not defined.

  第一个问题中没有这样的文件,但是可以在目录E:\Qt\qt-everywhere-src-5.13.2\qtbase\src\plugins\sqldrivers下找到configure.pri这个文件,那么我们就把原来需要qtsqldrivers-config.pri的地方注释掉,改成configure.pri。
  打开qsqldriverbase.pri文件,将第四行注释掉,即#include($ $shadowed($ $PWD)/qtsqldrivers-config.pri),然后添加include(./configure.pri),保存,完成。

  Library 'mysql' is not defined,这个问题好解决,在qt左侧栏中双击打开mysql.pro,将第六行注释掉,这样:#QMAKE_USE += mysql。这个办法需要格外感谢看过的一个大佬的教程,太秀了。


        接下来重新构建,没有报错。再次找到之前指定的编译好的dll放置的路径,E:\Qt\qt-everywhere-src-5.13.2\qtbase\src\plu gins\sqldrivers\mysql\mysqlDll,果然生成了qsqlmysql.dll和qsqlmysqld.dll,这两个就是qt连接mysql数据库的桥梁了。



       最后,只需将这两个生成的dll,复制到qt文件夹下:E:\Qt\Qt5.13.2\5.13.2\msvc2015_64\plugins\sqldrivers。

        并且也要将自己的mysql安装目录下的lib文件夹下的libmysql.dll,复制到qt的编译器的bin目录下,这样Qt就可以连接Mysql了。
 

上一篇:公司数字化建设规划方案
下一篇:小程序流量主运营技巧
相关文章
  Qt Creator常见问题解决方法
  系统常见的问题解决方法
  显卡驱动装失败问题解决
  Telink “undefined reference to“ 问题解决方法
  文件保存很大的问题解决方法
  Tomcat日志乱码问题解决方法
  Ubuntu中连接不上网络的问题解决方法
  bash: sqlplus: command not found 问题解决方法
  Vivado 常见Warning问题解决方法说明
  MySQL 配置和连接问题解决方案
  更多相关文章
相关标签/搜索
centos 杀死 nohup my97datepicker 日历确定事件 layui用了parsedata点击保存后检索条件失效 php使用redis 清空list操作 74hc595控制8个led ubuntu16版本找不到xinetd.d pandas获取指定的列中数据的种类个数 git多分支开发和单分支开发那个好 eclipse 不同工程不同jdk 如何检查oracle数据库是否安装成功 centos7.6 永久挂载 ios uitextview xib 高度 编程日记 博客专题系列
 

深圳SEO优化公司汕尾百度网站优化推荐黄石模板网站建设公司泸州网站开发价格岳阳百度竞价报价咸阳网站改版报价湛江关键词按天计费哪家好清远网站优化软件公司保山优秀网站设计铜仁百度爱采购多少钱十堰SEO按效果付费推荐资阳百度seo推荐广东网站关键词优化哪家好日照网站优化推广多少钱黄山网站建设设计哪家好钦州seo网站推广推荐果洛seo排名哪家好和县网站优化软件价格海口外贸网站设计哪家好铁岭网站设计报价湘西网站优化按天计费价格广安品牌网站设计推荐聊城seo网站推广价格怒江网站搭建公司舟山阿里店铺运营公司福田seo网站优化公司观澜网页设计郴州网络推广多少钱孝感SEO按天扣费推荐新余网页制作盘锦阿里店铺运营价格歼20紧急升空逼退外机英媒称团队夜以继日筹划王妃复出草木蔓发 春山在望成都发生巨响 当地回应60岁老人炒菠菜未焯水致肾病恶化男子涉嫌走私被判11年却一天牢没坐劳斯莱斯右转逼停直行车网传落水者说“没让你救”系谣言广东通报13岁男孩性侵女童不予立案贵州小伙回应在美国卖三蹦子火了淀粉肠小王子日销售额涨超10倍有个姐真把千机伞做出来了近3万元金手镯仅含足金十克呼北高速交通事故已致14人死亡杨洋拄拐现身医院国产伟哥去年销售近13亿男子给前妻转账 现任妻子起诉要回新基金只募集到26元还是员工自购男孩疑遭霸凌 家长讨说法被踢出群充个话费竟沦为间接洗钱工具新的一天从800个哈欠开始单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#中国投资客涌入日本东京买房两大学生合买彩票中奖一人不认账新加坡主帅:唯一目标击败中国队月嫂回应掌掴婴儿是在赶虫子19岁小伙救下5人后溺亡 多方发声清明节放假3天调休1天张家界的山上“长”满了韩国人?开封王婆为何火了主播靠辱骂母亲走红被批捕封号代拍被何赛飞拿着魔杖追着打阿根廷将发行1万与2万面值的纸币库克现身上海为江西彩礼“减负”的“试婚人”因自嘲式简历走红的教授更新简介殡仪馆花卉高于市场价3倍还重复用网友称在豆瓣酱里吃出老鼠头315晚会后胖东来又人满为患了网友建议重庆地铁不准乘客携带菜筐特朗普谈“凯特王妃P图照”罗斯否认插足凯特王妃婚姻青海通报栏杆断裂小学生跌落住进ICU恒大被罚41.75亿到底怎么缴湖南一县政协主席疑涉刑案被控制茶百道就改标签日期致歉王树国3次鞠躬告别西交大师生张立群任西安交通大学校长杨倩无缘巴黎奥运

深圳SEO优化公司 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化