Debian下Qt SDK安装及编译mysql驱动

来源:互联网 发布:关闭windows的uac 编辑:程序博客网 时间:2024/04/27 17:26

环境:Debian 5.0.5 (2.6.26)

Qt: qtsdk-2009.05

 

一. Qt SDK 的安装

    1. 下载sdk安装文件。根据你的需要选择适合的qt版本的SDK(SDK版本和QT版本关系见我的另一篇文章:关系对照表)。

          地址:http://qt.nokia.com/downloads/ ,我下载的是qt-sdk-linux-x86-opensource-2009.05.bin(Based on Qt 4.6.0)这个包.

 

     2. 对这个文件加上可执行权限。

       shell>chmod +x qt-sdk-linux-x86-opensource-2009.05.bin

 

     3. 执行安装

       shell>./qt-sdk-linux-x86-opensource-2009.05.bin

       接下来便是图形化的安装过程,强烈建议安装到自己的家目录下(如果装到家目录以外的路径下会有权限问题,使用过程中非常麻烦),我装在/home/zyx/qtsdk-2009.05下。

 

     4. 在/etc/bash.bashrc中添加环境变量

         export QTDIR=/home/zyx/qtsdk-2009.05/qt

         export PATH=$QTDIR/bin:$PATH

         export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH 然后 shell>source /etc/bash.bashrc一下。

 

     5.  打开QtCreator Tools==>Options,手动添加一个Qt Version,在这里,qmake的路径是默认的,也可以自己根据需求设置。

     至此,qt sdk安装完成。

 

二.  编译MySQL驱动

   前提是你已经安装了mysql。    

      QT SDK下自带的数据库驱动只有sqlite,没有添加mysql驱动,所以要自己编译。
   1.  必须安装mysql-devel,不装的话会出现找不到-lmysqlclient的问题,这个在ubuntu下名字叫libmysqlclient15-dev,于是 shell > sudo apt-get install libmysqlclient15-dev ,因为我的系统比较老,这个库又依赖安装了libmysqlclient15off_5.0.51a-24+lenny5_i386.deb、mysql-common_5.0.51a-24+lenny5_all.deb(这些是根据你出错的信息来安装的。读者可能不需要)

 

     2.  接下来进入QT存放mysql驱动源码的目录,其中$QDIR为你安装的QT的路径(我的为/home/zyx/qtsdk-2009.05/qt)

     shell > cd $QTDIR/src/plugins/sqldrivers/mysql

 

     3.  执行qmake操作生成makefile

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

      注意:(1)  qmake 命令要用跟你sdk相匹配的版本。之前我的系统安装过其他的qt,所以这里我把qmake 换成qtsdk-2009.05/qt/bin/qmake。

              (2)  INCLUDEPATH是你mysql.h文件的路径,lib是你mysql库的路径。

 

     4. 执行make操作生成libqsqlmysql.so。

     这个过程中可能没有提示出错但最好用ldd命令查看一下生成的驱动是否完整,笔者在做的过程中发现少了一个连接文件,提示如下:

 

     libmysqlclient_r.so.16  => not  found     这是一个常见的错误,笔者花了老长时间才解决掉。

 

     方法如下:

     查看/usr/lib下是否有这个库(或者是链接),笔者系统下有libmysqlclient_r.so.15 ,但没有libmysqlclient_r.so.16  。查看mysql安装目录(/usr/local/mysql)下的lib下是否有该文件。幸好有这么一个文件。接下来我只需要在/usr/lib目录下做一个链接到该文件的链接即可。

 

  shell>ln -s /usr/local/mysql/lib/libmysqlclient_r.so.16.0.0 /usr/lib/libmysqlclient_r.so.16

   

  OK,再重新make,ldd查看一下。没有问题的话就到最后一步了。

 

    5.  安装驱动

    shell > make install

    查看一下$QTDIR/plugins/sqldrivers/中看到生成的libqsqlmysql.so。

     

     6. 测试驱动见我的另一篇文章(同XP下)。

原创粉丝点击