环境:QT5.9.3+qtCreator+MSVC2015 32bit
ERROR:driver not loaded driver not loaded
使用打包工具生成的文件夹,拷贝到客户的电脑上提示mysql驱动找不到。如下方式提示错误类型:
database.open();
QSqlError error;
error=database.lastError();
if(error.isValid())//发生错误时isValid()返回true
{
switch (error.type()) {
case QSqlError::NoError:
QMessageBox::about(NULL , "提示" , "无错误");
break;
case QSqlError::ConnectionError://连接错语
QMessageBox::about(NULL , "提示" , error.text());
break;
case QSqlError::StatementError://语句错语
QMessageBox::about(NULL , "提示" , error.text());
break;
case QSqlError::TransactionError://事务错误
QMessageBox::about(NULL , "提示" , error.text());
break;
default://未知错误
QMessageBox::about(NULL , "提示" , error.text());
break;
}
按照理解,通过打包工具能够下载好所有的依赖库,但仍然报驱动找不到。仔细查看后,发现在当前文件夹下是有【sqldrivers】中的【qsqlmysql.dll】的。。。
后来,找到一种解决方案:缺少libmysql.dll
也就是说,我们应当从mysql的文件中找到这个动态库,并将其拷贝到发布文件的当前目录下去。
应当注意的是,32bit和64bit分别对应32位和64位的程序;否则,依然会提示找不到驱动程序
欢迎大家指教,希望大家喜欢
路漫漫其修远兮,同志仍须努力