Qt动态加载MySQL驱动程序

问题描述 投票:0回答:1

我没有部署应用程序的经验。我手动启动(通过将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和everithing是32位。

附:我刚刚了解到,如果我尝试静态链接该.lib文件(相比.dll的4MB大小为30KB),构建成功但没有任何改变。 DLL仍然需要

mysql qt dll deployment driver
1个回答
1
投票

here下载用于MySQL的32位连接器,然后创建一个动态链接到lib,(项目 - >添加库 - >外部 - >动态),勾选您正在处理的平台;就像是:

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
© www.soinside.com 2019 - 2024. All rights reserved.