您的位置:首页 > 编程语言 > Qt开发

Qt中mysql程序发布

2015-07-05 21:52 288 查看
QtCore4.dll

QtGui.dll

之前为了能够发布Qt程序,需要将以上两个动态链接库(不限于这两个还有其他文件)拷贝到工程的release目录下,对于相同的Qt版本,即便安装在不同的计算机上,只要把上述文件拷贝至相应的release目录,一般程序都以发布的形式独立运行。

后来编译了Mysql驱动,在原先运行正常的串口程序上加上mysql数据库存储模块,总是提示QSqlDatabase cannot load mysql driver,即调用QSqlDatabase::addDatabase时失败。一开始以为是驱动没有编译进去,后来反复编译,还是出现上述问题。百思不得其解。最后自己重建了一个控制台工程,发现数据库的连接读写都很正常,应该可以确认不是驱动插件编译的问题。难道是GUI程序的问题,慢慢尝试向控制台工程添加界面,发现也能运行。但在原串口程序上还是报错。Ding!突然发现,控制台程序运行在debug模式,串口程序运行在release模式,串口release目录中有从其他安装了相同版本Qt机器上拷贝过来的QtCore4.dll和QtGUI.dll等文件,难道是这些文件搞的鬼?因此,将原有控制台程序改为release模式,正常!再将上述文件拷贝至控制台程序的release目录下,提示QSqlDatabase
cannot load mysql driver!此时考虑到是文件的版本不兼容,于是在当前机器Qt的安装目录下,找到上述两个文件,覆盖掉原有文件,重新编译串口程序,运行没有报错,问题解决。

由于上面两个文件在许多路径下都有,注意是拷贝D:\QtSDK\Desktop\Qt\4.7.4\mingw\bin下面的(自己的Qt安装在D:\QtSDK\下)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: