Qt动态加载MySQL驱动程序

时间:2018-03-04 17:10:14

标签: mysql qt dll deployment driver

我没有部署应用程序的经验。我手动启动(通过将release.exe复制到目标PC并逐个解析它的DLL依赖关系)。我已经遇到了#34;未加载驱动程序未加载驱动程序"墙和我现在卡住了。
我尝试在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位。

P.S。我刚刚了解到,如果我尝试静态链接.lib文件(大小相当于.dll' 4MB),那么构建是成功的,但它会改变 nothing 。还需要DLL

1 个答案:

答案 0 :(得分: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