vs2008+Qt+MySql环境搭建及提示"Driver not load"的原因分析
2014-11-15 17:17
441 查看
由于vs编程助手(VAssistX)和联合编译(IncrediBuild)这两个究级强大的软件,ms的ide一直是世界上最傻瓜和最强大的ide。
1、下载并安装qt-win-opensource-4.6.2-vs2008.exe,注意要是windows版的
2、下载并安装qt-vsintegration-1.4.3.exe,有了这个插件,用vs2008编写qt简直和qt creator一样方便(甚至更方便)。
3、安装MySql5.1,至少要是4以上的版本(3的话,编译驱动时还要修改源代码)。安装时要安装include和lib。
4、编译MySql驱动。
关于这一点要好好说说,qt作为开源软件,由于版权问题,没有提供所有数据库的驱动。而这个驱动可以理解为发动机,由于这个驱动的存在,上层可以提供统一的接口(一样的方向盘,油门),而不用关心具体的数据库类型。
关于增加QT对MySql的支持,可以通过修改配置(命令行 -qt-sql-mysql)并重新编译QT来实现(不推荐,耗时太长)。也可以以插件的形式来实现,而这就需要自己编译mysql的驱动。
编译驱动的方法:
a、通过vs2008的命令行(只要能识别qmake、nmake的命令就行)进入到QTDIR/src/plugins/sqldrivers/mysql 目录下。
b、运行命令:
qmake -o Makefile INCLUDEPATH+="D:/MySQL5/include" LIBS+="D:/MySQL5/lib/opt/libmysql.lib" mysql.pro
nmake
其中D:/MySQL5为mysql的安装目录
好了,至此准备工作完成。
以上这些网上铺天盖地到处都是,我照着弄完,运行程序时还是提示"Driver not load",我编译了两次qt,编译了n此驱动都是如此。后来耐着心思,断点跟踪了一下源码发现,原来是LoadLibrary时失败,造成QT认为编译出的qsqlmysql4.dll不是一个合法插件。原因非常白痴:mysql的libmysql.dll不在环境变量PATH中的目录下,造成驱动加载时,找不到这个dll文件。把它拷贝到程序运行目录(或者任何一个确认可以被程序找到的文件夹下)就ok了。
1、下载并安装qt-win-opensource-4.6.2-vs2008.exe,注意要是windows版的
2、下载并安装qt-vsintegration-1.4.3.exe,有了这个插件,用vs2008编写qt简直和qt creator一样方便(甚至更方便)。
3、安装MySql5.1,至少要是4以上的版本(3的话,编译驱动时还要修改源代码)。安装时要安装include和lib。
4、编译MySql驱动。
关于这一点要好好说说,qt作为开源软件,由于版权问题,没有提供所有数据库的驱动。而这个驱动可以理解为发动机,由于这个驱动的存在,上层可以提供统一的接口(一样的方向盘,油门),而不用关心具体的数据库类型。
关于增加QT对MySql的支持,可以通过修改配置(命令行 -qt-sql-mysql)并重新编译QT来实现(不推荐,耗时太长)。也可以以插件的形式来实现,而这就需要自己编译mysql的驱动。
编译驱动的方法:
a、通过vs2008的命令行(只要能识别qmake、nmake的命令就行)进入到QTDIR/src/plugins/sqldrivers/mysql 目录下。
b、运行命令:
qmake -o Makefile INCLUDEPATH+="D:/MySQL5/include" LIBS+="D:/MySQL5/lib/opt/libmysql.lib" mysql.pro
nmake
其中D:/MySQL5为mysql的安装目录
好了,至此准备工作完成。
以上这些网上铺天盖地到处都是,我照着弄完,运行程序时还是提示"Driver not load",我编译了两次qt,编译了n此驱动都是如此。后来耐着心思,断点跟踪了一下源码发现,原来是LoadLibrary时失败,造成QT认为编译出的qsqlmysql4.dll不是一个合法插件。原因非常白痴:mysql的libmysql.dll不在环境变量PATH中的目录下,造成驱动加载时,找不到这个dll文件。把它拷贝到程序运行目录(或者任何一个确认可以被程序找到的文件夹下)就ok了。
相关文章推荐
- vs2008+Qt+MySql环境搭建及提示"Driver not load"的原因分析
- vs2008+Qt+MySql环境搭建及提示"Driver not load"的原因分析
- vs2008+Qt+MySql环境搭建及提示"Driver not load"的原因分析
- mac osx Qt5.6.2 连接mysql 提示QMYSQL driver not loaded
- can't not load JDBC driver class "com.mysql.jdbc.Driver"
- JDBC driver for MySQL连接提示"The connection property 'zeroDateTimeBehavior' acceptable values are: 'CONVERT_TO_NULL', 'EXCEPTION' or 'ROUND'. The value 'convertToNull' is not acceptable."解决方案
- 搭建jfinal框架时报 Could not load driverClass com.mysql.jdbc.Driver
- qt连接mysql提示QMYSQL driver not loaded
- Qt连接MySQL提示“QSqlDatabase: QMYSQL driver not loaded”的解决办法
- PowerDesigner提示错误Non SQL Error : Could not load class com.mysql.jdbc.Driver
- qt 5.2 使用mysql数据库,提示出错QSqlDatabase: QMYSQL driver not loaded
- 关于Qt开发MySQL程序移植后出现"Driver not loaded"的问题
- Qt连接MySQL提示“QSqlDatabase: QMYSQL driver not loaded”的解决办法
- Qt编译后提示QSqlDatabase: QMYSQL driver not loaded的问题
- Ubuntu16.04 QT "QMYSQL driver not loaded on Ubuntu"问题
- 解决QT5.2及以上版本连接mysql提示QMYSQL driver not download 问题
- QT程序发布提示driver not load
- 1.定义初始化为false的bool类型、2.qtrelease版本发布时,提示:could not find or load the Qt platform plugin "window"
- Qt之开发环境配置——在VS2008中为QT增加代码提示功能
- VS2008 环境中完美搭建 Qt 4.7.4 静态编译的调试与发布