Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/59.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
部署Qt-MySql应用程序_Mysql_Qt - Fatal编程技术网

部署Qt-MySql应用程序

部署Qt-MySql应用程序,mysql,qt,Mysql,Qt,我正在使用Qt5.10.1、VS2017、MySql 8.0(64it)开发Win10 64位。我的电脑一切正常。在其他计算机上部署应用程序后,会弹出一条错误消息“驱动程序未加载” 我查看了很多论坛,包括stackoverflow中的两篇帖子, 但这对我不起作用。以下是我的文件夹中的dll文件: qsqlmysql.dll包含在文件夹sqldrivers中。 所有的平台、软件、SDK都是64位的。有人能帮我吗?谢谢。谢谢所有回答我问题的人。我尝试了很多方法,几乎放弃了。我以前从未使用过MySQ

我正在使用Qt5.10.1、VS2017、MySql 8.0(64it)开发Win10 64位。我的电脑一切正常。在其他计算机上部署应用程序后,会弹出一条错误消息“驱动程序未加载”

我查看了很多论坛,包括stackoverflow中的两篇帖子, 但这对我不起作用。以下是我的文件夹中的dll文件:

qsqlmysql.dll包含在文件夹sqldrivers中。
所有的平台、软件、SDK都是64位的。有人能帮我吗?谢谢。

谢谢所有回答我问题的人。我尝试了很多方法,几乎放弃了。我以前从未使用过MySQL,这次我选择了最新的MySQL 8.0.12。我忽略程序,直接发布解决方案:

除了libmysql.dll和qsqlmysql.dll之外,还需要另外两个*.dll文件(但我搜索的解决方案中没有提到它们):libeay32.dll和ssleay32.dll,它们位于MySql/bin/。对于我的计算机,它们包含在系统路径中,而对于其他不安装MySql的计算机,它们缺少这两个。因此,我们也需要将它们复制到包中


对于遇到相同问题的任何人,例如使用最新的MySql 8.0,您可以尝试此方法。

请使用Dependency Walker进行检查,可能dll需要一些外部依赖项(MinGW dll、C runtime等)。如果您已经不需要,请使用Qt安装附带的winqtdeploy.exe工具生成二进制软件包。正如@folibis所说,使用依赖项检查器。该包是由windeployqt命令生成的。我试过依赖步行器,没有发现可疑的线索。应用程序可以在我的计算机上运行,这是否意味着所有正确的DLL都包含在我的计算机中?有人说我需要重新编译QtSQL驱动程序来生成一个新的“qsqlmysql.dll”,对吗?但是,如果驱动程序不正确,我认为该程序无法在我的计算机上运行。请澄清,您是通过Dependency Walker在遇到错误的计算机上运行该程序的,对吗?谢谢,我在1分钟前解决了此问题,稍后将发布我的解决方案。