1. QT       += sql //在.pro文件里加入这一句
  2. //包含头文件
  3. #include <QDebug>
  4. #include <QSqlQuery>
  5. #include <QSqlDatabase>
  6. //连接数据库
  7. QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
  8. db.setHostName("localhost");
  9. db.setDatabaseName("mydb");
  10. db.setUserName("root");
  11. db.setPassword("123456");
  12. bool ok = db.open();
  13. if(!ok)
  14. {
  15. qDebug()<<"open db fail";
  16. return;
  17. }
  18. //将数据表中的内容全部列出
  19. QSqlQuery query;
  20. query.exec("SELECT * FROM tb_A2");
  21. while(query.next())
  22. {
  23. qDebug()<<query.value(0).toString()<<query.value(1).toString();
  24. }

如上,我编写了一个简单的测试数据库连接的程序,运行时出现了下面的错误提示:

QSqlDatabase: QMYSQL driver not loaded
QSqlDatabase: available drivers: QSQLITE QMYSQL QMYSQL3 QPSQL QPSQL7

在Qt5.2.1中明明已经有MySQL的驱动QMYSQL,为什么还是无法加载呢?

去google了一把,网上大多数是windows下和Qt4.x版本的,还好最终还是解决了,现在稍微记录解决过程下。

//Qt的安装路径

#cd /opt/Qt5.2.1/5.2.1/gcc/plugins/sqldrivers/

#ls

libqsqlite.so  libqsqlmysql.so  libqsqlpsql.so

#ldd libqsqlmysql.so
这里就会发现:

libmysqlclient_r.so.16 =>not found

怎么解决呢?

//mysql 安装库路径

#cd /usr/lib/mysql/

#ls

INFO_BIN              libmysqlclient.so.18          mysqlbug
INFO_SRC              libmysqlclient.so.18.0.0      mysql_config
libmysqlclient.so.18.0.0.bak  plugin

#cplibmysqlclient.so.18.0.0 libmysqlclient_r.so.16

#mvlibmysqlclient_r.so.16 /lib/

#cd /opt/Qt5.2.1/5.2.1/gcc/plugins/sqldrivers/

#ldd libqsqlmysql.so

看看libmysqlclient_r.so.16是否还是not found

如果出现

libmysqlclient_r.so.16 => /lib/libmysqlclient_r.so.16

则说明已经成功了。如果还不行,再试着创建一软连接看看,

# pwd

/opt/Qt5.2.1/5.2.1/gcc/plugins/sqldrivers
#ln -s /lib/libmysqlclient_r.so.16 ./libmysqlclient_r.so.16

Good luck !

fedora 18~20 中Qt 5.2.1 解决连接mysql数据库出现QMYSQL driver not loaded的问题的更多相关文章

  1. Qt连接mysql数据库遇到QMYSQL driver not loaded

    本文件向各位博友分享一下我在Qt开发过程中,连接mysql数据库时遇到的问题,以及解决的方法,希望对遇到同样问题的博友有所帮助. 工程运行环境:vs2015+Qt5.8 在开发过程中,编写数据库连接函 ...

  2. Qt 无法连接mysql数据库的问题

    错误信息: QSqlDatabase: QMYSQL driver not loaded QSqlDatabase: available drivers: QSQLITE QMYSQL QMYSQL ...

  3. Java中连接MySql数据库的例子

    Java中连接MySql数据库的例子: package com.joinmysql.demo; import java.sql.DriverManager; import java.sql.Resul ...

  4. Delphi XE中使用dbExpress连接MySQL数据库疑难问题解决(对三层的例子配置有帮助)

    Delphi IDE中包含一个Data Explorer的组件,如下图所示: 该组件基于dbExpress(包含TSQLConnection.TSQLDataSet.TSQLQuery.TSQLSto ...

  5. Eclipse中利用JSP把mysql-connector-java-8.0.13.jar放到WebContent\WEB-INF\lib中连接MySQL数据库时Connection conn = DriverManager.getConnection(url,username,password)报错的解决办法

    开发环境: 1.系统:windows 7/8/10均可 2.jdk:1.8.0_144 3.服务器:apache-tomcat-9.0.8 4.IDE:eclipse+jsp 0.网页代码如下: &l ...

  6. 通过JSP网页连接MySQL数据库,从MySQL数据库中读出一张表并显示在JSP网页中

    1.安装所需软件 ①安装java和tomcat,建立JSP网页最基础的软件②安装MySQL数据库(下载地址:https://www.mysql.com/)③安装Navicat Premium来查看数据 ...

  7. Odoo中连接mysql数据库

    how to integrate Odoo with MySQL - Stack Overflowhttps://stackoverflow.com/questions/31959919/how-to ...

  8. jmeter中通过jdbc方式连接mysql数据库的配置参考

    jmeter中通过jdbc方式连接mysql数据库的配置参考: Database URL=jdbc:mysql://ip:port/dbname?useUnicode=true&allowMu ...

  9. Qt 连接MySQL数据库(很多相关文章)

    今天想试试Qt如何连接数据库的. 谁知怎么写完了提示driver not loaded我就郁闷了. 我自己是 VS2010 + Qt4.8.4 + MySQL5.1 的环境 网上查到是 C:\Qt\4 ...

随机推荐

  1. ES6常用点

    原文    http://es6.ruanyifeng.com/#docs 变量--------------------------------------------- 1.let声明.const声 ...

  2. SpringDataRedis依赖

    <dependencies>        <dependency>            <groupId>junit</groupId>       ...

  3. ASP.NET 服务器控件对应的HTML标签

    label----------<span/> button---------<input type="submit"/> textbox--------&l ...

  4. Hadoop-HDFS的伪分布式和完全分布式集群搭建

    Hadoop-HDFSHDFS伪分布式集群搭建步骤一.配置免密登录 ssh-keygen -t rsa1一句话回车到底 ssh-copy-id -i ~/.ssh/id_rsa.pub root@no ...

  5. selenium之 文件上传所有方法整理总结

    本文转载“灰蓝”的原创博客.http://blog.csdn.net/huilan_same/article/details/52439546 文件上传是所有UI自动化测试都要面对的一个头疼问题,今天 ...

  6. (1)centos7 安装与分区

    xxxxx 系统运行级别 /etc/inittab #

  7. 注解@Override

    Android的开发者对@Override肯定是非常熟悉,不管是自己的代码中还是书上都会出现,但是他是什么意思呢?如下: @Override是伪代码,表示重写(当然不写也可以),不过写上有如下好处: ...

  8. 净心诀---python3装饰器

    python3装饰器 装饰器作用 简单理解:可以为已有函数添加额外功能 例: 已有2个函数如下 def MyFunc1(): print("This is a print function1 ...

  9. git 和github简介

    关于github不清楚的可以百度, 在这里,可以创建一个新的仓库 点击Create repository后会出现下面这些信息,其中第一块是仓库的url链接 第二块是你在本地目录中创建一个READEME ...

  10. echarts的图表根据父容器大小的改变而改变(弹窗easy-ui的window窗口)

    1.echarts的图表只绘制一次,所以要想大小随着父容器变化就得调方法重新绘制.所以把绘制图表的方法提出来. <div class="echart"> <div ...