如下,经测试无效,最后发现是plugins文件夹找错位置了
Qt加载数据库时,数据库驱动必须放在sqldrivers文件夹下,
1、将Qt安装程序的plugins/sqldrivers路径复制到EXE文件同根目录下。
2、程序中添加以下代码
QString path = QDir::currentPath();
QApplication::addLibraryPath(path+QString("/plugins"));
QPluginLoader loader(path+QString("/plugins/sqldrivers/qsqlite4.dll"));
按如下方法最后成功
Driver not loaded Driver not loaded(QT打包后在别人的电脑上运行出现这个错误)解决方法
出现这个错误,导致的原因有很多,所以不妨先试试我找的这种解决方法,我也是试过了很多方法,这种方法也许不适合所有人的错误,但是方法特别简单,所以试一试也无妨,不会浪费太多时间,万一就一下解决了呢。可以节省很多不必要的试错。
以我的程序为例
一开始打完包的时候
第一步:找到你所使用的的编译器下对应的sqldriver文件夹
我的是在这个位置
里面包含这些文件
复制所有文件
粘贴到软件包的sqldrivers下
选择覆盖之前的文件
现在,把软件发到另一台电脑看看能否正常使用数据库了不
如果还是不行
那就把刚刚粘贴的文件在工程包外面也粘贴一下
像这样
然后,再去试试,可以正常使用了不,如果还不行
第二种方案:
试试下载32位的mysql ,然后取出bin目录下的libmysql.dll 和libmysql.lib放到安装目录的bin文件夹下,因为QT是32位的,我是还没试到这一步就成功了,用的64位的数据库。之所以推荐试一试是因为感觉说的有道理。
如果实在不行,也有可能是我用第一种方案的时候,动过sqldriver 的某些文件了,所以可以尝试在版本对应了还是不行的时候使用这个方法。
造成这个问题的原因大多情况是版本不匹配,所以可以多朝这个方向找找答案。
好了,希望能给各位带来帮助,节省宝贵时间。