QT打包mysql出现Driver not loader的解决放方法
最近项目需求,在QT中使用了 mysql数据库,再程序测试结束,打包时提示:Driver not loader 解决方法:
-
在 你的 EXE 文件目录下 , 新建一个 plugins 文件夹 -
接着在plugins文件下,新建一个sqldrivers子文件夹,然后再QT的安装目录下拷贝 qsqlmysql.dll 到sqldrivers子文件夹下即可解决. -
qsqlmysql.dll 动态连接库 在QT的安装目录下可以找到,我的qsqlmysql.dll 动态连接库目录如下图 根据自己QT安装目录自行查找;
我尝试了将 qsqlmysql.dll 放到 打包后文件下的不同目录下,或者修改 上面创建的两个文件夹的名称,都会报错提示:Driver not loader ;
发现没,在我的QT目录下 在 mingw53_32编译器目录下 刚刚创建的两个文件夹这里也有,这肯定不是巧合,猜测是在 windows 在 QT mingw53_32编译器 打包时,没有将mysql的插件拷贝过来,而在这个编译器下打包的程序 ,会在当前目录下的一个 绝对地址 找对应的插件 ,因此我修改文件夹的名字,或者将qsqlmysql.dll 放到其他目录都会报错。
所以使用不同的编译器,应该要去不同的编译器目录下拷贝相应的 mysql 插件 。
上面第三点是我的猜测,那位大佬要是清楚,请指点指点!
|