INCLUDEPATH+="C:\Program Files\MySQL\MySQL Server 5.5\include" LIBS+="C:\Program Files\MySQL\MySQL Server 5.5\lib\libmysql.lib"
保存并退出(即你的mysql的include 路径和 lib 下 opt 的 libmysql.lib 路径)
打开Qt 4.8.0 Command Prompt, 编译这个文件
#qmake -o Makefile mysql.pro
提示3条警告信息,但没影响
#mingw32-make (这个网上有好几个编译命令,我的是用nmake)
然后你会发现你的 qt 下这个 qt/plugins/sqldrivers路径(我的路径为S:\QT\4.8.0\plugins\sqldrivers下)下多了四个文件
分别为 libqsqlmysql4.a, libqsqlmysqld4.a, qsqlmysql4.dll,qsqlmysqld4.dll (生成文件不一定是上面四个)这样基本上就编译成功,可以使用 mysql 了!~
最后安全起见再将 mysql下 bin 文件中libmysql.dll文件拷贝到 system32 下面 然后测试:
#include<QtGui>#include<QtSql>#include<cstdlib>
#include<QtGui/QApplication>#include<QtSql/QtSql>boolcreateConnection() {
qDebug()<<"Availabledrivers:"
QStringListdrivers=QSqlDatabase::drivers()foreach(QStringdriver,drivers) qDebug()<<"\t"<<driver
QSqlDatabasedb=QSqlDatabase::addDatabase("QMYSQL")qDebug()<<"MYSQLdrivervalid?"<<db.isValid()}
intmain(intargc,char*argv[]) {
至于mysql.pro我是在网上下载的
你好很高兴为你解答答案是:这是别人总结的攻略,你试试:问题解决:出现 drive not loaded 的原因有如下几个1.安装qt的时候还没有安装mysql.也就是说应该在安装qt之前安装mysql数据库.这个错误由QSqlDatabase抛出db.lastError().text()2.将以前编译的mysql驱动程序拷入qt文件夹位置放错.3.你的程序写错了.4."driver not loaded" 是由query.lastError().text()抛出的错误.5.gcc版本不一样(本机和目标机).既然知道原因了,解决起来也就非常轻松了.1.重新安装qt,重新安装mysql驱动2和3的解决方法我就没有什么好说的了.4. 说明你的query在创建的时候没有和qsqldatabase建立起关联.正确的方法是声明qsqldatabase后就声明query.如果你希望一 个连接能够和多个query关联使用如下语法:QSqlQuery query(db),db是QSqlDatabase的实例名.5.同步gcc版本咯..满意请采纳,谢谢!你必须把安装好的mysql的 C:\Program Files\MySQL\MySQL Server 5.6\lib 下的 libmysql.dll 和 libmysql.lib 拷贝进 qt的G:\Qt\Qt5.3.1\5.3\mingw482_32\bin下欢迎分享,转载请注明来源:内存溢出
评论列表(0条)