linux下QT5.6.2连接MYSQL过程

在Ubuntu14.04上使用Qt5.6.2时遇到QMYSQL driver not loaded错误。解决方法是手动编译MySQL驱动源码,生成libqsqlmysql.so,将其拷贝到Qt的sqldrivers目录。过程包括下载Qt源码、安装、配置qmake,执行qmake和make,最后测试连接MySQL。
摘要由CSDN通过智能技术生成

安装好QT5.6.2后,使用MYSQL时会出现如下错误:

QSqlDatabase: QMYSQL driver not loaded

QSqlDatabase: available drivers: QSQLITE QMYSQL QMYSQL3 QODBC QODBC3 QPSQL QPSQL7

针对上面问题,解决方法如下:

传统解决方法:

一、解决问题

  本文解决在Ubuntu14.04系统下,Qt5无法连接MySQL数据库的问题(Qt5缺少MySQL驱动,Qt5缺少libqsqlmysql.so动态库,如何安装libqsqlmysql库,如何用Qt5源码编译生成libqsqlmysql库)

 

二、问题现象

  编译运行Qt连接MySQL数据库程序的时候,控制台会报如下错误:

  QSqlDatabase: QMYSQL driver not loaded
  QSqlDatabase: available drivers: QSQLITE

 

三、问题原因

  用Qt连接MySQL,Qt会去加载libqsqlmysql.so动态库,如果加载不到或者加载的库有问题都会导致Qt提示driver not loaded。

  (1)加载不到:Qt安装目录下的sqldrivers目录中没有libqsqlmysql.so文件(我的路径:/opt/Qt5.7.0/5.7/gcc_64/plugins/sqldrivers)

  (2)库有问题:进入Qt的sqldrivers目录,执行“ldd libqsqlmysql.so”命令,会出现“libmysqlclient_r.so.16 => not found”等等not found提示,如下图:

  

 

 

四、解决方法

思路:自己手动编译mysql驱动的源码,生成libqsqlmysql.so库,然后把这个库拷贝到Qt的sqldrivers目录下

1、编译libqsqlmysql.so之前需要拿到Qt连接mysql驱动的源码,因此先去Qt官网下载Qt安装包qt-opensource-linux-x64-5.7.0.run

  (1)打开网址:https://www.qt.io/,点击Download

   

 

  (2)做一套选择题,一路选下去:

  (也可以直接打开这个网址(可能失效):https://www.qt.io/download-open-source/,选View All Downloads)

  

  

  

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值