• 6563阅读
  • 7回复

程序拿到其它电脑运行提示driver not loaded[已解决] [复制链接]

上一主题 下一主题
离线szh1987
 
只看楼主 倒序阅读 楼主  发表于: 2010-03-18
我编译环境是vs2008+qt4.6.2,自己编译了mysql的驱动,在vs2008下面可以运行,把可执行文件拷出来加上库文件也是可以运行的,但是我把程序拿到其它电脑就报错,提示driver not loaded


我现在的配置是:
在.pro文件中加入QTPLUGIN += qsqlmysql编译,将mysql的dll放到可执行文件的  sqldrivers目录下面,然后 addLibraryPath()进来了(网上看到的方法),但是还是不行,我用下面的语句打印
QApplication::addLibraryPath("C://plugins");
 QPluginLoader sqlPlugin("qsqlmysqld4.dll");

if(!sqlPlugin.load())
  QMessageBox::information(NULL,"error",sqlPlugin.errorString(),QMessageBox::Ok);

我在C:/plugins和C:\plugins\sqldrivers目录下面都加了qsqlmysqld4.dll,但是还是提示“the share library was not found”,只有当我在可执行文件目录下面直接放qsqlmysqld4.dll才会提示“unknown error”,但是如果不在可执行目录下面放置sqldrivers/qsqlmysqld4.dll,还是会提示“driver not loaded”

现在我很疑惑,为啥addLibraryPath()了还是一点用处也没有,在自己电脑上只要在可执行文件目录下面再建个sqldrivers文件夹放入qsqlmysqld4.dll就可以连接正常(这里我将其它地方的qsqlmysqld4.dll都删除了,所以应该确定就是这个地方的dll文件被载入了),但是我把这个程序拿到其它电脑上去却会报错driver not loaded
下面截图是我的程序目录,qsqlmysqld4.dll在sqldrivers目录下面,这个我在自己电脑上可以运行。
 


我把这个程序移植到其它电脑就是不行,其它电脑上我也装了mysql,为了发现原因还装了qt,结果还是不行,
我在windows 7下写的程序,mysql的驱动也是windows7下编译的,发布的电脑室xp,不知道这个有没有关系
请论坛上的兄弟姐妹帮忙看看可能哪里出问题了。
写的有点乱,希望大家可以看懂,给小弟一点建议,不甚感激!


解决:搜索了到论坛中的这个帖子:http://www.qtcn.org/bbs/read.php?tid=19742&keyword=driver%20not%20loaded

解决的方法是:
1.在打开数据库之前,添加    qApp->addLibraryPath(qApp->applicationDirPath () + "/plugins");
2.在执行文件exe所在的文件夹中,创建\plugins\sqldrivers,然后将qsqlmysql4.dll libmysql.dll放入\plugins\sqldrivers

上面方法我在另一太电脑上还是不行,后来发现只要安装vcredist_x86.exe这个程序就不会出现找不到插件的情况了,问题也解决了







[ 此帖被szh1987在2010-03-25 16:22重新编辑 ]
离线benbenmajia

只看该作者 1楼 发表于: 2010-03-19
其他人的电脑上又没有环境
安然.....
离线darlings

只看该作者 2楼 发表于: 2010-03-19
遇到了同样的问题,程序拿到别人电脑上,出现驱动没有加载的错。
离线szh1987
只看该作者 3楼 发表于: 2010-03-19
引用第1楼benbenmajia于2010-03-19 09:08发表的  :
其他人的电脑上又没有环境



我试过把自己电脑上的qt卸载掉,把qt的目录删除,但是还是可以执行的,其它还有什么环境么
离线benbenmajia

只看该作者 4楼 发表于: 2010-03-19
哦?如果发布一个软件,要别人安装的时候是需要把自己的一些相关环境的东西一起打包的。我想应该是因为环境吧,但是具体我也了解的不是很清楚
安然.....
离线szh1987
只看该作者 5楼 发表于: 2010-03-19
引用第4楼benbenmajia于2010-03-19 15:18发表的  :
哦?如果发布一个软件,要别人安装的时候是需要把自己的一些相关环境的东西一起打包的。我想应该是因为环境吧,但是具体我也了解的不是很清楚

主要是不知道还应该配置哪些东西,帮助上说可以配qt.config,谁有这个模板就好了
离线午小夜

只看该作者 6楼 发表于: 2010-03-19
[操作系统版本]  Windows XP;Linux Ubuntu;Linux Fedora;
[Qt SDK版本]    4.7.0
[SDK 发布日期]  2010.05
[IDE(集成开发环境)] QtCreator
个人网页:http://hi.baidu.com/午小夜
學歷:Royal Jalidon
离线coffeelzp

只看该作者 7楼 发表于: 2010-03-20
mysql的库没有拷过去。
快速回复
限100 字节
 
上一个 下一个