公司项目需求,要做个windows的客户端,使用mysql数据库。印象中数据库都是编译好的,在plugin里面也确实有qsqlmysql.dll, qsqlmysqld.dll。但是在使用时提示 QSqlDatabase:QMySQL driver not loaded , available drivers: QSQLITE QPSQL QPSQL7 QMYSQL QMYSQL3。
因为之前在ubuntu下面用的时候,也是类似的结果,所以从网上下载了mysql的安装程序http://dev.mysql.com/downloads/installer/,我选择的是5.6.33
下载后直接安装。就默认安装目录就行,不过可以选择只安装server部分就行了。里面就有需要的include和lib文件了。
在编译mysql的驱动的时候,在mysql.pro文件中增加
INCLUDEPATH += “C:\Program Files (x86)\MySQL\MySQL Server 5.6\include”
LIBS +="-LC:\Program Files (x86)\MySQL\MySQL Server 5.6\lib"(不需要增加-llibmysql,加上应该是反而不能便已成功,因为在qsql_mysql.pri文件里面有相关的判断了)
这样就行了。
然后我尝试使用qt creator 编译,但是发现虽然编译成功了,但是在对应的目录里面并没有找到驱动文件,最后转到CMD上面进行编译,进入qt的源码目录,然后在mysql目录上按住shift,然后单击右键
选择在此处打开命令窗口,进入终端,我使用的是mingW版本的qt,所以使用对应的qmake,生成Makefile。然后mingw32-make,不要打上.exe
之后在所使用的qt creator中的plugins目录里面就有了刚刚编译出来的驱动文件。
如果此时编译自己的程序发现还是同样的问题。因为还差一步,把mysql安装目录下server中lib文件加下面的libmysql.dll libmysql.lib和mysqlclient.lib拷贝到qt 根目录下D:\Qt5.6.0-android\5.6\mingw49_32\bin中
再进行编译就可以了。也许不需要拷贝那个client的东西,我没有尝试。