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。

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

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值