Qt动态加载MySQL驱动程序
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Qt动态加载MySQL驱动程序相关的知识,希望对你有一定的参考价值。
我没有部署应用程序的经验。我手动启动(通过将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仍然需要
答案
从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
以上是关于Qt动态加载MySQL驱动程序的主要内容,如果未能解决你的问题,请参考以下文章
为 Qt 构建和安装 MySql 驱动程序后,无法加载 MySql 驱动程序