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. C/C++ clock()

    { clock_t start = clock(); for(int i = 0; i < 1000000; i++) { static int var = 0; var++; } clock_ ...

  2. 批量更新数据(BatchUpdate)

    批量更新数据(BatchUpdate) /// <summary> /// 批量更新数据,注意:如果有timestamp列,要移除 /// </summary> /// < ...

  3. BZOJ 5120: [2017国家集训队测试]无限之环(费用流)

    传送门 解题思路 神仙题.调了一个晚上+半个上午..这道咋看咋都不像图论的题竟然用费用流做,将行+列为奇数的点和偶数的点分开,也就是匹配问题,然后把一个点复制四份,分别代表这个点的上下左右接头,如果有 ...

  4. AcWing 101. 最高的牛 (差分) 打卡

    有 NN 头牛站成一行,被编队为1.2.3…N,每头牛的身高都为整数. 当且仅当两头牛中间的牛身高都比它们矮时,两头牛方可看到对方. 现在,我们只知道其中最高的牛是第 PP 头,它的身高是 HH ,剩 ...

  5. C++的ofstream与ifstream使用

    基本理解: ofstream是从内存到硬盘,ifstream是从硬盘到内存,其实所谓的流缓冲就是内存空间; 在C++中,有一个stream这个类,所有的I/O都以这个“流”类为基础的,包括我们要认识的 ...

  6. jmter 二次开发 IDEA 项目5.1

    jmter 二次开发 IDEA 项目5.1 IDEA 编译 Jmeter 5.0(二次开发) 1. Java环境配置 1.1     步骤1 1.2     步骤2 1.3     步骤3 1.4   ...

  7. 树莓派 omv 安装 nextcloud

    https://www.toutiao.com/i6447470450145493517/ https://www.technikaffe.de/anleitung-402-howto_nextclo ...

  8. 前端(十六)—— JavaScript盒子模型、JS动画、DOM、BOM

    JS盒子模型.JS动画.DOM.BOM 一.JS盒模型 1.width | height parseInt(getComputedStyle(ele, null).getPropertyValue(' ...

  9. JQuery中内容操作函数、validation表单校验

    JQuery:内容体拼接(可以直接拼接元素节点和内容节点) JQuery实现: 方案1:A.append(B); == B.appendTo(A);A的后面拼接B 方案2: A.prepend(B); ...

  10. Linux中的网络管理——网络配置及命令

    Linux网络配置 在Linux中配置IP地址的方法有以下这么几种: 图形界面配置IP地址(操作方式如Windows系统配置IP,但在实际生产中,我们并不建议在我们的服务器上安装Linux的图形界面, ...