编译Qt的mysql驱动及解决 driver not loaded 错误
2013-08-11 18:27
561 查看
在网上找了很多在qt中编译mysql的资料,写的都很复杂,一会安装,一会命令行,很多都用到mingw32。今天研究了一下,其实并不复杂,方法如下:
一、开发环境:
操作系统:windows XP
Qt版本:4.8.4
Qt安装目录:C:\Qt\4.8.4
mysql版本: 5.6.13
mysql安装目录:D:\Program Files\mysql-5.6.13-win32 (免安装版)
编译环境:VS2010
二、编译步骤:
1. 参照Qt助手 How to Build the QMYSQL Plugin on Windows 里的说明,在cmd窗口,输入以下命令查看路径:
显示路径为:C:\Qt\4.8.4\src\plugins\sqldrivers\mysql
2. 打开上一步查看到的路径,可以看到mysql目录下有:mysql.pro,main.cpp,README,用记事本打开mysql.pro文件,添加mysql的头文件和lib库路径,修改后的mysql.pro文件如下:
3. 在mysql目录下新建文件夹build,打开Qt命令行,输入cd C:\Qt\4.8.4\src\plugins\sqldrivers\mysql\build,然后qmake -tp vc ..\mysql.pro,在build目录生成vs2010工程
4. 编译mysql/build目录下的VS2010工程mysql.sln,生成debug和release库:qsqlmysqld4.dll,qsqlmysqld4.lib,qsqlmysql4.dll,qsqlmysql4.lib,将这4个文件拷贝到C:\Qt\4.8.4\plugins\sqldrivers目录下,mysql插件编译结束
5. 编写测试程序,如下,却提示driver not loaded
6. 解决driver not loaded错误的方法,将D:\Program Files\mysql-5.6.13-win32\lib\libmysql.dll拷贝到C:\Qt\4.8.4\bin目录,一切OK!
一、开发环境:
操作系统:windows XP
Qt版本:4.8.4
Qt安装目录:C:\Qt\4.8.4
mysql版本: 5.6.13
mysql安装目录:D:\Program Files\mysql-5.6.13-win32 (免安装版)
编译环境:VS2010
二、编译步骤:
1. 参照Qt助手 How to Build the QMYSQL Plugin on Windows 里的说明,在cmd窗口,输入以下命令查看路径:
cd %QTDIR%\src\plugins\sqldrivers\mysql
显示路径为:C:\Qt\4.8.4\src\plugins\sqldrivers\mysql
2. 打开上一步查看到的路径,可以看到mysql目录下有:mysql.pro,main.cpp,README,用记事本打开mysql.pro文件,添加mysql的头文件和lib库路径,修改后的mysql.pro文件如下:
TARGET = qsqlmysql INCLUDEPATH += "D:/Program Files/mysql-5.6.13-win32/include" LIBS += "D:/Program Files/mysql-5.6.13-win32/lib/libmysql.lib" SOURCES = main.cpp include(../../../sql/drivers/mysql/qsql_mysql.pri) include(../qsqldriverbase.pri)
3. 在mysql目录下新建文件夹build,打开Qt命令行,输入cd C:\Qt\4.8.4\src\plugins\sqldrivers\mysql\build,然后qmake -tp vc ..\mysql.pro,在build目录生成vs2010工程
4. 编译mysql/build目录下的VS2010工程mysql.sln,生成debug和release库:qsqlmysqld4.dll,qsqlmysqld4.lib,qsqlmysql4.dll,qsqlmysql4.lib,将这4个文件拷贝到C:\Qt\4.8.4\plugins\sqldrivers目录下,mysql插件编译结束
5. 编写测试程序,如下,却提示driver not loaded
QSqlDatabase db; db = QSqlDatabase::addDatabase("QMYSQL", strConnection1); db.setHostName(QObject::tr("localhost")); db.setDatabaseName(QObject::tr("test")); db.setUserName(QObject::tr("root")); db.setPassword(QObject::tr("")); if ( !db.open() ) { QSqlError error = db.lastError(); qDebug() << "Failed to connect to root mysql admin: " << error.databaseText(); } else { qDebug() << "available drivers:"; QStringList drivers = QSqlDatabase::drivers(); foreach(QString driver, drivers) { qDebug() << "\t" << driver; } }
6. 解决driver not loaded错误的方法,将D:\Program Files\mysql-5.6.13-win32\lib\libmysql.dll拷贝到C:\Qt\4.8.4\bin目录,一切OK!
相关文章推荐
- Qt中编译mysql驱动程序及解决 driver not loaded 错误
- Qt5 编译MySQL驱动,仍然加载失败,出现QMYSQL driver not loaded
- 解决mysql-connector-java驱动编译时Dex cannot parse version 52 byte code...等错误
- QT使用MySql的配置(使用addLibraryPath载入插件),编译QT的MySql驱动问题及解决方案(自己使用libmysql.lib进行编译mysql.pro,万不得已可以查看Makefile.Debug以解决问题)
- qt 加载 mysql 驱动出错:driver not loaded
- 终于编译好了qt的oracle驱动QOCI,连接driver not loaded解决方法
- 终于编译好了qt的oracle驱动QOCI,连接driver not loaded解决方法
- Qt5.9连接MySql5.7.17错误解决办法(错误提示:QMYSQL driver not loaded)
- Qt出现“QSqlDatabase: QMYSQL driver not loaded”和“启动程序失败,路径或者权限错误”解决方法
- MongoDB在MFC下使用C++驱动编译错误的解决
- MySQL的安装、编译Qt驱动和测试
- 编译Qt的MySql驱动
- ubuntu16.04下编译qt5。5程序出现:-1: error: [ui_firstpage.h] Error 1 错误的解决
- Centos7下编译Qt的mysql驱动
- 编译Mysql时configure: error: No curses/termcap library found 的错误解决方法
- 通过QT_DEBUG_PLUGINS调试连接PostgreSQL/MySQL时driver not loaded问题
- 交叉编译dbus模块到Qt 遇到的错误及解决
- win7编译的QT4.8.4的mysql驱动
- QT-MYSQL连接问题( Driver not loaded)
- 编译安装php及编译安装mysql常见错误总结及解决办法