现在的位置: 首页 > 综合 > 正文

QT 编译mysql驱动

2013年02月26日 ⁄ 综合 ⁄ 共 1793字 ⁄ 字号 评论关闭

           由于最近的项目要用到丢了好久的Qt,就只有重新去熟悉。在后期用到数据库的时候,老提示连接不上。去网上收罗了一大堆资料。原来QT 免费版不提供mysql驱动,得自己编译。于是花了一天半的时间,终于把他搞定了。

           开始时,由于下载的QTSDK1.1.4里面没有编译mysql驱动的相关源文件。搞了半天才明白。这是不行的,很多初学者都会有可能遇到这个问题。现在我就把它详细的说一说。希望能给遇到同样的问题的人一些帮助。

           其实,编译mysql驱动程序的步骤很简单(最容易出问题的是在mysql以及QT的配置问题上),就只需要4步:

   1.qmake -o aMakefile "INCLUDEPATH+=C:/MySQL/MySQLServer50/include" " LIBS+=C:/MySQL/MySQLServer50/lib/opt" mysql.pro

2.make   会在Debug文件夹下生成qsqlmysqld4.dll,libqsqlmysqld4.a

3.make

release  会在Release文件夹下生成qsqlmysql4.dll,libqsqlmysql4.a

4.将生成的qsqlmysqld4.dll,libqsqlmysqld4.a,qsqlmysql4.dll,libqsqlmysql4.a四个文件,拷贝到运行QT会调用到的驱动目录。(这个问题很重要,必须要明白,把他拷贝到什么位置才会被正确的加载。后面将详细的介绍)以及将mysql安装目录下得lib文件夹的libmySQL.dll库拷贝到QT的bin目录下。

上面说的几个步骤都很简单,但前提是你已经正确的安装好了QT以及mysql数据库。

安装QT很简单,之前直接下载了一个QTSDK1.1.4装好了,谢了个hello
world程序,编译运行正确。就以为正确安装了。于是开始编译mysql驱动,去网上找了一些教程。按着一步一步的做。mysql装好了(安装mysql后面介绍),后面要求进QT 4.7.4 command prompt 顿时傻眼了。
SDK版的没有,就有个QT4.7.4 for Desktop(MinGW)。于是不管了,进入照样做。接下来更傻眼了。连%qtdir%\src
都没有。
于是以为在其他地方。接着找,找了半天,得出了SDK版的没有src这个文件的结论。于是卸载了重新装了个单独的QT-win-opensource-mingw.exe
和 qt-win-creator2.3.1.exe 装好了以后发现Qt编译不了代码。有弄了半天,于是想再把SDK1.1.4装上,这样我的机器里就装了3个关于QT的东西。分别是:

1.qt-win-creator2.3.1.exe

2.qt-win-opensource-mingw.exe
安装的时候需要选择MinGW,貌似我没装,后面去网上下了个装上就OK。不然提示没有G++.就算现在忽略,后面执行Make时很可能会产生 g++ :CreateProcess:No such file 的错误。

3.QTSDK1.1.4

三个都装了。发现mingw下有\src\plugins\sqldrivers\mysql了。QTCreator也能编译程序了。这也算是个笨办法吧!

接下来就是安装MySQL了。去官网下载了个最新的5.5的。安装时的选择custom自定义选项。把C库装上。好了,装好了,也选择了安装C库和头文件这个选项。但是就是找不到mysql/lib
目录下得opt目录。这就说明有些文件丢失了。没办法,有去网上找了个5.0的装好。就OK了。

后面的步骤都很顺利,也很顺利生成了4个文件。按照网上说的,把它们拷贝到安装qt-win-opensource-mingw.exe的目录下面的bin文件夹下。但写得测试代码。打死都说加载不成功驱动。

QSqlDatabase:
QMYSQL driver not loaded

QSqlDatabase: available drivers: QSQLITE

最后搞了一下午都没办法。都快哭了。后面不知道哪位大神上身。灵机一动。会不会得把那几个文件拷贝到安装SDK的目录下的相关文件呢!抱着试试的态度考到我的SDK目录下:C:\QtSDK\Desktop\Qt\4.7.4\mingw\plugins\sqldrivers。重新运行,果然成功。

抱歉!评论已关闭.