Qt动态加载MySQL驱动程序

Qt动态加载MySQL驱动程序,mysql,qt,dll,deployment,driver,Mysql,Qt,Dll,Deployment,Driver,我没有部署应用程序的经验。我首先手动将release.exe复制到目标PC,然后逐个解析它的DLL依赖项。我遇到了司机没上膛司机没上膛的墙,我现在被卡住了。 我尝试在windeployqt的帮助下重新开始,它编译了一组很好的文件和目录,但仍然出现了同样的错误。 我尝试用记事本黑客检查dll的拱门,并尝试从不同的地方重新下载libmysql.dll。我手动重建了qsqlmysql.dll,只是为了了解我确实需要libmysql.dll。我将项目文件夹添加到PATH变量中,但仍然无效。 我听说Dep

我没有部署应用程序的经验。我首先手动将release.exe复制到目标PC,然后逐个解析它的DLL依赖项。我遇到了司机没上膛司机没上膛的墙,我现在被卡住了。 我尝试在windeployqt的帮助下重新开始,它编译了一组很好的文件和目录,但仍然出现了同样的错误。 我尝试用记事本黑客检查dll的拱门,并尝试从不同的地方重新下载libmysql.dll。我手动重建了qsqlmysql.dll,只是为了了解我确实需要libmysql.dll。我将项目文件夹添加到PATH变量中,但仍然无效。 我听说Dependecy Walker可能会有所帮助,但它没有,它只是警告我在查找某些文件时出错

Error: At least one required implicit or forwarded dependency was not found.
Warning: At least one delay-load dependency module was not found.
Warning: At least one module has an unresolved import due to a missing export function in a delay-load dependent module.  
因此,我请求提供一种方法来了解将DLL放在何处。或者只是一个路径,关于应用程序、DLL和所有内容都是32位的


另外,我刚刚了解到,如果我尝试静态链接.lib文件,与.dll的4MB文件相比,该文件的大小为30KB,那么构建是成功的,但它不会改变任何东西。DLL仍然需要

从下载MySQL的32位连接器,然后动态链接到库,Project->Add Library->External->dynamic,勾选正在使用的平台;比如:

win32:CONFIG(release, debug|release): LIBS += -L$$PWD/../../../../../mysql/mysql-connector-c-6.1.11-win32/lib/ -llibmysql
else:win32:CONFIG(debug, debug|release): LIBS += -L$$PWD/../../../../../mysql/mysql-connector-c-6.1.11-win32/lib/ -llibmysqld

INCLUDEPATH += $$PWD/../../../../../mysql/mysql-connector-c-6.1.11-win32/include
DEPENDPATH += $$PWD/../../../../../mysql/mysql-connector-c-6.1.11-win32/include

你能在你的.pro中显示它是如何链接的吗file@MohammadKananLIBS+=C:\Users\user\projfolder\libmysql.lib。另外,我更喜欢避免静态链接,因为它显然不是这种情况下的解决方案。lib文件是无用的。请帮我用动态的方式解决这个问题,仍然是同样的信息:我得到的代码几乎与您在.pro文件中显示的代码完全相同。我移动了.a和.dll以确保$PWD本身。并且驱动程序仍然没有加载。win32:CONFIGrelease,debug | release:LIBS+=-L$$PWD/-lmysql else:win32:CONFIGdebug,debug | release:LIBS+=-L$$PWD/-lmysqld INCLUDEPATH+=$$PWD/mysql con/include dedpath+=$$PWD/mysql con/includedid是否手动更新.pro?你看到我关于如何动态链接的更新了吗有一点不同,你的是lmysqld,我希望是llibmysql,链接到文件libmysql.lib而不是libmysql.dllunder