• 10180阅读
  • 8回复

Windows 下成功编译MySQL驱动但是不能加载 [复制链接]

上一主题 下一主题
离线hongwang
 
只看楼主 倒序阅读 楼主  发表于: 2008-07-13
— 本帖被 XChinux 执行加亮操作(2008-07-13) —

我按照本版置顶的贴《qt4 OpenSource for mingw中编译MySQL驱动》的步骤编译好了连接MySQL的驱动,  在 D:/Qt4.4.0/plugins/sqldrivers/ 目录下生成了 libqsqlmysql4.a 和 qsqlmysql4.dll 两个文件。

问题是:运行一个小程序,还是不能连接数据库!提示信息是:

QSqlDatabase: QMYSQL driver not loaded
QSqlDatabase: available drivers: QSQLITE QODBC3 QODBC

也就是说 QMYSQL 驱动不可用, 为什么呢? QT应该是到D:/Qt4.4.0/plugins/sqldrivers/ 目录下找数据库驱动吧, 为什么能找到 SQLLITE 却找不到 MYSQL 呢?

QT_PLUGIN_PATH 环境变量已经设置了 "D:/Qt4.4.0/plugins" 和 D:\Qt4.4.0\plugins\sqldrivers

我用的 QT是qt-win-opensource-4.4.0-mingw.exe, 安装在D:\Qt4.4.0目录; mysql-5.2.0-falcon-alpha-win32.zip, 只用了其中的C库文件(include 和 lib/opt); MinGW-3.4.2.exe

离线XChinux

只看该作者 1楼 发表于: 2008-07-13
使用qt.conf来设置一下路径看看。


Qt是自己编译的?还是使用的已经编译好的mingw版?
为保险起见,可将qsqlmysql编译到QtSql模块中去
二笔 openSUSE Vim N9 BB10 XChinux@163.com 网易博客 腾讯微博
承接C++/Qt、Qt UI界面、PHP及预算报销系统开发业务
离线hongwang
只看该作者 2楼 发表于: 2008-07-14
是使用的已经编译好的 MinGW 版。  然后手动编译 MySQL 驱动。

请问 qt.conf 文件在哪个路径下? 我没找到........
离线hongwang
只看该作者 3楼 发表于: 2008-07-14
把 MySQl 驱动编译到 QtSQL 模块中去,  怎么样才能只编译这一个模块, 其它的模块不动?  如果从头开始 configure  -qt-sql-mysql 的话,  全部编译完要3,4个小时。
离线supwater
只看该作者 4楼 发表于: 2008-07-14
引用第2楼hongwang于2008-07-14 11:11发表的  :
是使用的已经编译好的 MinGW 版。  然后手动编译 MySQL 驱动。
请问 qt.conf 文件在哪个路径下? 我没找到........

搜索一下嘛
谋事在人,成事在天!
离线hongwang
只看该作者 5楼 发表于: 2008-07-14
我看了一下, 我编译生成的 libqsqlmysql4.a 和 qsqlmysql4.dll 两个文件总共才 81K 大小, 前者 3K, 后者 78K,  是不是太小了?

我看它原有的SqlLite  的 .a 文件 有3K, 但是 .dll 文件 有 382K

所以我怀疑我编译出来的那两个MySQL驱动文件根本就不对。

大家编译成功能使用的  qsqlmysql4.dll 应该是多大啊 ?  或者哪个好心人发给我一个能使用的 qsqlmysql4.dll 吧 , 省得编译这么麻烦   
离线XChinux

只看该作者 6楼 发表于: 2008-07-14
是需要带libmysql.dll这个库的(在mysql的bin或lib/opt目录下有),而sqlite则把自己已经编译进去了。
二笔 openSUSE Vim N9 BB10 XChinux@163.com 网易博客 腾讯微博
承接C++/Qt、Qt UI界面、PHP及预算报销系统开发业务
离线xiangwang
只看该作者 7楼 发表于: 2009-07-31
我也是这个问题,自己好不容易编译出驱动了,还是不能加载。怎么办啊?谁已经解决了,能分享一下吗?
离线gotomall
只看该作者 8楼 发表于: 2009-08-03
哪位大虾提供一个编译好的4.5.2 的mysql插件啊。我超级崩溃,首先按照网络上的步骤编译出了一个带xxxd的调试版本。人家可是都编译出release的。这个就算了,我先debug..结果刚才qt creator ide 突然说driver not load ..但是driver 可用选项里有mysql -_-
快速回复
限100 字节
 
上一个 下一个