我构建了一个qt应用程序,该应用程序使用mysql连接和查询数据库。在我的开发计算机(上面装有Qt Creator的计算机)上,它工作得很好。但是当我使用windeployqt.exe
部署它并在另一台计算机上运行时,由于某种奇怪的原因,它没有连接到数据库。
请注意,我在另一台计算机(连接数据库失败的计算机)上确实有一个正常工作的数据库(还有mysql)
我不确定该怎么做,我尝试使用addLibraryPaths
,但是它不起作用(我不确定我是否正确执行了操作)。
我在用着 :
MySQL服务器5.5.36
工作台6.0
Qt Creator 5.4.0
我还尝试研究静态构建我的应用程序,但是我不了解这样做的过程。
如果您有Qt神能帮助您,我将不胜感激。
最佳答案
我终于找到了问题并解决了。
问题:由于某种原因,目标计算机无法识别或读取C:\ Windows中的libmysql.dll,并且由于@Marco,我使用db.LastError并让我的应用程序显示错误,这是“驱动程序未加载驱动程序未加载”这意味着libmysql.dll出了问题(请注意,我从目标计算机上安装的MySql文件夹复制了该dll)
解决方案:我必须从开发计算机上复制libmysql.dll并将其放在目标计算机上的C:\ Windows中(我注意到目标计算机上的libmysql.dll的大小小于我在开发计算机上使用的libmysql.dll的大小)
由于某些原因,该程序仅在目标计算机的C:\ Windows中存在来自开发计算机的libmysql.dll时才运行
此解决方案应修复任何“未加载驱动程序”或“ QMySQL未加载驱动程序”(等)错误。谢谢大家的帮助,再次感谢@Macro
关于mysql - 部署在另一台计算机上时,应用程序未连接到数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29549923/