(前半部分没有试过,因为我的有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. iOS开发系列课程预告

    近期在Mac和iOS上做开发,认为应该写一点东西分享给感兴趣的童鞋们.在此之前.以前有非常多同行们都在埋怨苹果Objective-C的复杂和难以上手,为此也有非常多人对今年(2014年)刚推出的Swi ...

  2. Navicat安装激活

    有条件的同学麻烦不要使用下面的激活步骤,仅供个人学习使用 ...... ...... ...... ...... 一.去官网下载最新Navicat软件https://www.navicat.com.c ...

  3. .7z.001,.7z.002这样的文件如何解压

    1 如图所示,压缩分卷没有显示关联的软件来打开,Winrar右击也无法解压 2 可以使用7-ZIP软件打开该文件,然后选择提取(相当于Winrar的解压),然后选择提取路径,默认是同一个文件夹,点击确 ...

  4. Setsockopt选项

    讨论 Setsockopt选项 http://c.chinaitlab.com/cc/ccjq/200806/752042_3.html 总而言之,如果你肯定能一起发送多个数据集合(例如HTTP响应的 ...

  5. PACS系统简易

    PACS系统 http://baike.baidu.com/link?url=prHBMbyu5W98ET1UGQ0PXXxLebxAeljckFH0pfO_2aODe1UgsrWgRd4Unbopt ...

  6. c++构造函数具体解释

    一.Default constructor 1.       对于class X ,假设没有不论什么user-declared constructor,那么编译器生成的default construc ...

  7. jquery-序列化表单

      createTime--2016年9月25日08:54:48参考链接:http://www.w3school.com.cn/tags/html_ref_urlencode.htmljQuery的s ...

  8. eclipse to avoid the message, disable the...

      标题 CreateTime--2018年5月9日10:38:15 Author:Marydon 1.问题描述 2.问题解析 这是因为eclipse的智能提示超时引起的,将超时间调大即可,如:200 ...

  9. 理解SVG的图形填充规则

    SVG的图形填充规则通过fill-rule属性来指定. 有效值:   nonzero | evenodd | inherit 默认值:   nonzero fill-rule属性用于指定使用哪一种算法 ...

  10. 使用loadrunner对https协议(单双向SSL)的web端性能测试 (转)

    1.项目背景 1.1 单双向SSL的含义及部署 单向SSL即我们说到的https协议. 特点是,浏览器需要请求验证服务器证书: 基本含义是:一个安全通信通道,它基于HTTP开发,用于在客户计算机和服务 ...