QT5在测试机上发布时出现QSQLITE driver not loaded的解决办法

在工程机上编译好好的代码,在没有QT环境的测试机上花样报错。windeployqt 似乎永远不懂我们的心。缺这个少那个,运行时找不到DLL真的是很折磨人的事儿。不知道少什么,知道少什么了不知道放在哪儿。

  query.exec(selectsql);
  if(!query.next())
  {
        qDebug()<<"isTableExists "<<query.lastError().text();
       return false;
    }

发布模式下打印到文件里输出这种东东。

Warning: QSqlQuery::exec: database not open    0  
Debug  File:   Line:0  Content:isTableExists  "Driver not loaded Driver not loaded"

百度的各种办法均是中看不中用,无奈之下,找到process monitor这个利器。监控过滤选择进程名,然后运行,发现工程机的QT环境下,如果搜索qsqlite,是可以搜到的,用到的qsqlite.dll 目录是在plugins的sqldrivers下面。

而在发布环境下搜索则是一无所获。

继续搜索plugin, 发现一个路径搜索错误,

于是在发布环境下建立plugins目录,把QT下的sqldrivers连文件夹复制到里面,一切OK。

扫描二维码关注公众号,回复: 4147523 查看本文章

然后,各种SQLITE操作在发布环境下终于可以工作了 ^_^。

猜你喜欢

转载自blog.csdn.net/lingzesoft/article/details/84238096
今日推荐