(前半部分没有试过,因为我的有mysql驱动,实在抱歉)

1.预防万一,先安装一下mysql-devel(一定要装!)。 不安装的话后面编译会出现找不到-lmysqlclient的问题。

2. 开始编译:

cd $QTDIR/src/plugins/sqldrivers/mysql   //进入QT那个存放mysql驱动源码的目录``

qmake "INCLUDEPATH+=/usr/include/mysql" "LIBS+=-L/usr/lib/mysql -lmysqlclient_r" mysql.pro

//这一句中我修改一下了qt助手里的语句,因为我的mysql库的位置是在/usr/include/mysql,/usr/lib/mysql 中。
   make //然后make一下

3. 最后一步

cd $QTDIR/src/plugins/sqldrivers/mysql //这里也是进入那个目录``
    make install    //生成, 在上面make那步好像也生成过的了,不过这一步还是要做一下··

4. 完成

你可以在/qtsdk-2009.05/qt/plugins/sqldrivers里找到一个刚生成的libqsqlmysql.so,这个就是mysql的驱动

 (下面是我遇到的情况)
   首先我的Linux系统,64位的Centos,Qt版本4.8.4安装方式前面博客说过了
   好了,现在先说遇到的问题,可以编译通过,就是执行报错:
   Available drivers: "QSQLITE" 

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

看到网上不知道是否是真的有用的,基本都说编译什么Mysql驱动,缺少libqsqlmysql.so,说的……………………不好评论,我是看不懂。

但是我查证我的安装目录是有libqsqlmysql.so的,现在只能考虑是不是目录路径不对,但是我可以编译通过,就是执行报错,对此也表示怀疑,暂且就把目录路径都加到系统搜索路径(更改PATH环境变量,把库拷到/usr/lib64等等,没招了)。

问题依然没有解决,原地踏步,下面是关键。

分析上面的错误:QSQLITE可用,但是QMYSQL 不可用,

   再进一步分析,这两个的依赖库(libqsqlite.so  libqsqlmysql.so)是存在目录都是相同的,就开始怀疑是库所依赖的东西出了问题,现在ldd  libqsqlmysql.so显示:

   

果然有问题,看到上面的libmysqlclient.so.18 => not found,这就是问题所在,下面就开始解决:

(1)先找到libmysqlclient.so.18 的所在路径,find / -name libmysqlclient.so.18

(2)  vim /etc/ld.so.conf 在最后添加一行(就是刚刚的搜索到的路径),意告诉系统libmysqlclient.so.18去那个路径下寻找。

(3)ldconfig  必须导入刚刚的配置。

(4)  再次运行ldd  libqsqlmysql.so显示不再是not   found:

     好了,现在回到关键问题,执行Qt程序,惊喜,成功了。关于/etc/ld.so.conf 的介绍博客有介绍。

     

centos 下Qt安装 mysql驱动(亲测可行)的更多相关文章

  1. Mac下Qt连接MySQL 驱动问题

    Mac OS X下Qt的mySQL driver编译安装 原创文章,采用CC协议发布,转载请注明: 转载自canX.me 本文链接地址: Mac OS X下Qt的mySQL driver编译安装 – ...

  2. CentOS 下编译安装MySQL

    CnetOS 下编译安装 MySql 查看是否存在旧版本: rpm -qa | grep mysql 卸载旧版本: rpm -e mysql   #普通删除模式 rpm -e --nodeps mys ...

  3. Window下 Qt 编译MySQL驱动(居然用到了动态库格式转换工具)

    一步步在Window下开发Qt 今天开始安装MySQL,看了些关于MySQL安装的博文,方法大致相同,但是遇到的细节问题各有不同,或者没有讲全面,下面来说说个人的安装过程及遇到的问题. 1.首先下载, ...

  4. CentOS下编译安装MySQL 5.6.21

    一.编译安装MySQL前的准备工作 安装编译源码所需的工具和库 yum install gcc gcc-c++ ncurses-devel perl 安装cmake:http://www.cnblog ...

  5. 阿里云,CentOS下yum安装mysql,jdk,tomcat

    首先说明,服务器是阿里云的,centos6.3_64位安全加固版.首先需要登陆进来,使用的是putty,因为最初的时候,Xshell登陆会被拒绝. 0. 创建个人文件夹 # 使用 yum 安装tomc ...

  6. CentOS下yum安装mysql,jdk以及tomcat

    首先说明,服务器是阿里云的,centos6.3_64位安全加固版.首先需要登陆进来,使用的是putty,因为最初的时候,Xshell登陆会被拒绝. 0. 创建个人文件夹 # 使用 yum 安装tomc ...

  7. CentOS下yum安装mysql

    其实跟windows下安装过程差别不大,就是下载为了方便使用了yum的方式.安装前先确认下系统是否还安装mysql,卸载是否不完全,再去官网(http://dev.mysql.com/download ...

  8. centos下在线安装mysql

    1 首先查看是否有安装过,如果已经安装过,就不必再安装了 yum list installed mysql* rpm -qa | grep mysql* 2 查看有没有安装包: yum list my ...

  9. centos下的安装mysql,jdk

    mysql: 如果你是用rpm安装, 检查一下RPM PACKAGE:rpm -qa | grep -i mysql如果mysql已经安装在本机,则会列出mysql安装过的文件 ,像mysql-ser ...

随机推荐

  1. 限制RICHTEXTBOX的输入的范围

        附件: http://files.cnblogs.com/xe2011/WindowsFormsApplication_LimitRichTextBoxInput.rar     using  ...

  2. Linux内核中网络数据包的接收-第一部分 概念和框架

    与网络数据包的发送不同,网络收包是异步的的.由于你不确定谁会在什么时候突然发一个网络包给你.因此这个网络收包逻辑事实上包括两件事:1.数据包到来后的通知2.收到通知并从数据包中获取数据这两件事发生在协 ...

  3. 自我分析-Spring IOC

    Spring IOC容器实现原理大致是容器(Map)+反射(Java反射和cglib).Spring提供丰富的ApplicationContext.以FileSystemXmlApplicationC ...

  4. mysqladmin: connect to server at 'localhost' failed

    1:mysqladmin: connect to server at 'localhost' failed 2: 3: 4:

  5. 关于DES加密中的 DESede/CBC/PKCS5Padding

    今天看到一段3DES加密算法的代码,用的参数是DESede/CBC/PKCS5Padding,感觉比较陌生,于是学习了一下. 遇到的java代码如下: Cipher cipher=Cipher.get ...

  6. 〖Linux〗Ubuntu13.10,声音图标调节音量失效的解决办法

    升级Ubuntu13.10,发现声音图标不能调节音量[XUbuntu13.10发行日志]: 临时解决办法: gvim /usr/share/dbus-1/services/indicator-soun ...

  7. 〖Android〗/system/etc/event-log-tags

    一博客中,一段的注释的解释:[From: http://blog.csdn.net/hustpzb/article/details/8525324] /** * Access to the syste ...

  8. Knockout自定义绑定my97datepicker

    /* my97datepicker 时间格式'yyyy-MM-dd HH-mm-ss' */ ko.bindingHandlers.datetimes = { init: function (elem ...

  9. C++编写简单的俄罗斯方块游戏

    代码地址如下:http://www.demodashi.com/demo/14593.html C++编写简单的俄罗斯方块游戏 使用C++编写一个简单的俄罗斯方块游戏. 1 环境要求 使用C++图形库 ...

  10. zabbix监控redis连接情况

    配置zabbix客户端配置文件 vim /etc/zabbix/zabbix_agentd.conf 添加  Include=/etc/zabbix/zabbix_agentd.d/ 添加脚本对red ...