本文主要是介绍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操作在发布环境下终于可以工作了 ^_^。
这篇关于QT5在测试机上发布时出现QSQLITE driver not loaded的解决办法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!