刚安装的Qt在连接mysql数据库的时候可能会遇到如下问题:
available drivers:
"QSQLITE"
"QPSQL"
"QPSQL7"
QSqlDatabase: QMYSQL driver not loaded
QSqlDatabase: available drivers: QSQLITE QPSQL QPSQL7
Unable to open database
这是因为mysql的驱动太旧了,具体解决办法如下:
首先确保你的电脑已经安装了mysql数据库sudo apt-get install mysql-server mysql-client
第二下载Qt源码,重新编译mysql数据库驱动,具体步骤为:
进入源码Src->qtbase->src->sql->driver->mysql目录(tips:到官网下载最新的qt安装包.run文件,然后安装,在选取安装选项的时候将解压源码项勾选,这样Qt源码将会解压到你的安装目录中以Qt5.3为例:安装目录->5.3->Src->qtbase->src->sql->drivers->mysql)。
执行qmake -project生成.pro工程文件,然后执行qmake命令生成Makefile文件,然后执行make命令进行编译,编译过程如果出现缺少头文件请注意编译行的头文件是否为你安装目录下的头文件,如果不是则可能是因为qmake链接到了旧的qmake文件,解决办法如下:
以上面的安装目录为例:sudo rm /usr/bin/qmake 接着sudo ln -s 安装目录/5.3/gcc_64/bin/qmake /usr/bin/qmake 以上都是绝对路径,然后再执行qmake 再make应该可以生成新的mysql驱动了,此时注意看命令行提示,它将最新驱动mv到了某个文件夹下,然后将该目录下的驱动移动到安装目录/5.3/gcc_64/plugins/sqldrivers下,大功告成!