QT问题和解决方案:Unable to locate ICU library icuin58.dll
这是在windeployqt 打包遇到的问题
问题重现:
在网上寻找解决方案:
无法找到 ICU 图书馆 icuin51.dll |Qt 论坛 --- Unable to locate ICU library icuin51.dll | Qt Forum
官方论坛给的方案:手动将 ICU 的三个 DLL 复制到你的 exe 同目录
但是我找不到这三个文件在安装目录下,我的安装目录
(D:\QT\QT5.14.2\5.14.2\msvc2017_64\bin)
于是我使用everything.exe,随便找了三个放进去,正确执行windeployqt 但是也当然报错,打开exe时显示找不到入口,寻找问题原因,大概就是因为这三个文件不是自带的所以不能够正确解析,导致冲突,继续搜寻解决办法,看到这篇帖子。
windeployqt 打包出错原因及解决-CSDN博客
大概原因:添加 windeployqt.exe
到 PATH 后直接调用可能导致依赖搜索错误:调用时当前目录为命令行的目录而非 Qt 的 bin 目录,若 PATH 中其他路径(如 PyQt 的库目录)存在同名 DLL,会优先复制错误版本,导致打包程序在本机运行正常但发布后因依赖污染而失败。
解决方案:
因此只需要将环境移动至 qt bin 目录,再调用 windeployqt,即可成功