zoukankan      html  css  js  c++  java
  • fedora 18~20 中Qt 5.2.1 解决连接mysql数据库出现QMYSQL driver not loaded的问题

     

     在CODE上查看代码片派生到我的代码片
    1. QT       += sql //在.pro文件里加入这一句  
    2.   
    3. //包含头文件  
    4. #include <QDebug>  
    5. #include <QSqlQuery>  
    6. #include <QSqlDatabase>  
    7.   
    8. //连接数据库  
    9.     QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");  
    10.     db.setHostName("localhost");  
    11.     db.setDatabaseName("mydb");  
    12.     db.setUserName("root");  
    13.     db.setPassword("123456");  
    14.     bool ok = db.open();  
    15.     if(!ok)  
    16.     {  
    17.         qDebug()<<"open db fail";  
    18.         return;  
    19.     }  
    20.   
    21. //将数据表中的内容全部列出  
    22.     QSqlQuery query;  
    23.     query.exec("SELECT * FROM tb_A2");  
    24.     while(query.next())  
    25.     {  
    26.         qDebug()<<query.value(0).toString()<<query.value(1).toString();  
    27.     }  
    如上,我编写了一个简单的测试数据库连接的程序,运行时出现了下面的错误提示:

    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 !

  • 相关阅读:
    第十三课:js操作节点的创建
    matlab 绘制条形图
    Pearson(皮尔逊)相关系数及MATLAB实现
    Spearman Rank(斯皮尔曼等级)相关系数及MATLAB实现
    A Regularized Competition Model for Question Diffi culty Estimation in Community Question Answering Services-20160520
    Competition-based User Expertise Score Estimation-20160520
    We Know What @You #Tag: Does the Dual Role Affect Hashtag Adoption-20160520
    matlab 画图数据导入
    Who Says What to Whom on Twitter-www2011-20160512
    The Lifecycle and Cascade of WeChat Social Messaging Groups-www2016-20160512
  • 原文地址:https://www.cnblogs.com/lvdongjie/p/6295307.html
Copyright © 2011-2022 走看看