现象: qt环境下编译生成的程序可以正常运行,且数据库操作功能正常。执行windeployqt命令打包程序后,程序可以正常运行,但是数据库无法正常工作了。打印日志提示:driver not loaded!
解决方法: 将qt安装目录下查找plugin/sqldriver文件夹,将该文件夹下的库考到可执行程序的所在目录。
原因: 出现这个问题的原因是,之所以代码编译时能够正常工作是因为qt在编译时的编译环境已经配置好,在寻找库的时候会根据编译环境配置的路径自动进行查找。而打包后,由于数据库的驱动没有打包到可执行程序的目录下,程序找不到数据库的驱动,因此出现了该提示。只要将qt的数据库相关的动态库放到和可执行程序同一路径即可。
qt构建版本:
运行实例见链接:https://pan.baidu.com/s/1TOiMdSeVjMzsThxw3vD8yw
提取码:oo08