【发布时间】:2018-03-04 17:10:13
【问题描述】:
我没有部署应用程序的经验。我手动开始(通过将 release.exe 复制到目标 PC 并 1-by-1 解决它的 DLL 依赖项)。我遇到了“未加载驱动程序未加载驱动程序”墙,现在我被卡住了。
我尝试在windeployqt 的帮助下重新开始,它编译了一组不错的文件和目录,但仍然出现同样的错误。
我尝试使用记事本 hack 检查 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
【问题讨论】:
-
你能在你的 .pro 文件中显示它是如何链接的吗
-
@MohammadKanan LIBS += "C:\Users\user\projfolder\libmysql.lib"。另外,我宁愿避免静态链接,因为在这种情况下它显然不是解决方案(.lib 文件没用)。请帮我以动态方式解决它
标签: mysql qt dll deployment driver