这里我的Qt是安装在默认的路径/opt下。使用的系统是OpenSuSE12.3 64位,Qt的版本是5.3.1。这里安装Qt时,必须勾选源码也安装上。因为我们编译驱动时,是使用源码进行编译的。
安装好Qt后,如果有设置Qt的环境变量的话,qt的qmake等命令不用加路径。在这里我会使用Qt命令的完整路径。
默认情况下:qmake在目录下。不知道的话,使用 find / -name qmake进行查找,或用find /opt -name qmake进行查找。
下面开始进行编译:
1、首先进行Qt MySQL驱动所在的源码文件夹。使用如下命令,如果你的安装路径或版本和我的不同,请使用类似路径。
cd /opt/Qt5.3.1/Src/qtbase/src/plugins/sqldrivers/mysql
2、在该文件夹下使用ls命令,会发现里面有mysql.pro文件,没有Makefile文件。下面我们来生成Makefile文件。这里qmke我加了完整路径,你可以找到自己的qmake所在的位置。加入环境变量后,不需要完整路径。执行下面命令。会在该文件夹下生成Makefile文件。
/opt/Qt5.3.1/5.3/gcc_64/bin/qmake
3、执行:make
这样libqsqlmysql.so就生成了,在make输出的最后一个可以看出libqsqlmysql.so文件放在哪儿了。这里我的最后一名输出是 :
mv -f libqsqlmysql.so ../../../../plugins/sqldrivers/
4、cd ../../../../plugins/sqldirvers可进入到该文件夹。也就是 /opt/Qt5.3.1/Src/qtbase/plugins/sqldrivers目录下。ls可看到libqsqlmysql.so。
5、下面是最后一步,将驱动移动驱动应该正确放置的目录下。在我这里该目录是: /opt/Qt5.3.1/5.3/gcc_64/plugins/sqldirvers。进入到/opt/Qt5.3.1/5.3/gcc_64/plugins/sqldirvers目录下,发现里面已经有三个驱动,其中一个是libqsqlmysql.so这是Qt自带的,使用会报错。应该用我们自己编译的,将我们编译的驱动,复制到这个文件夹,覆盖原来的libqsqlmysql.so。自此,全部完成,可以写一个小程序,测试我们编译的mysql驱动。
最后赋上我编译好的驱动,供大家免费下载:http://download.csdn.net/detail/zhang2010kang/6365213
如果是5.3的版本,并且是64位的Linux的话,将我编译好的驱动放在驱动所在的正确文件夹(/opt/Qt5.3.1/5.3/gcc_64/plugins/sqldirvers),应该就可以直接使用了。