Qt调试Android程序时缺失cygintl-2.dll文件的问题求助
解决Qt 5.10.1 Android部署时cygintl-2.dll缺失及Error 53问题
你遇到的是Qt Android部署工具链依赖的Cygwin DLL缺失/路径不匹配问题,直接把DLL放到System32无效大概率是因为32/64位系统的DLL路径优先级或者工具链加载顺序的问题,下面给你几个针对性的解决方案:
方案1:将cygintl-2.dll放到Qt MinGW工具链的bin目录
你的编译日志里调用的是C:\Qt\Qt5.10.1\Tools\mingw530_32\bin\mingw32-make.exe,系统会优先从这个目录加载依赖DLL。把下载好的32位cygintl-2.dll直接复制到C:\Qt\Qt5.10.1\Tools\mingw530_32\bin目录下即可——64位系统的System32是存放64位DLL的,32位程序加载时优先级更高的是工具链自身的bin目录,而非系统文件夹。
方案2:重新安装Qt Android配套组件
可能你在安装Qt 5.10.1时没有完整勾选Android相关的Cygwin工具组件,导致依赖缺失:
- 重新运行
qt-opensource-windows-x86-5.10.1.exe - 选择你已安装的Qt 5.10.1版本,展开Android相关选项,确保勾选了Android SDK、NDK以及配套的Cygwin工具
- 完成组件补装后重启Qt Creator再尝试编译
方案3:调整环境变量PATH的顺序
确保Qt工具链的路径在PATH最前面,避免系统加载其他版本的DLL:
- 右键「此电脑」→「属性」→「高级系统设置」→「环境变量」
- 在系统变量的PATH中,把
C:\Qt\Qt5.10.1\Tools\mingw530_32\bin和Qt Android工具的Cygwin路径(比如C:\Qt\Qt5.10.1\Tools\android-sdk\tools)移到最顶部 - 重启Qt Creator和电脑后再测试
额外处理编译日志中的tty分配问题
你的日志里还有sh 7616 tty_list::allocate_tty: No tty allocated的提示,这也是Cygwin终端相关的问题,可以尝试:
- 在Qt Creator中打开「工具」→「选项」→「构建和运行」→「终端」,将终端设置为「Windows控制台程序」
- 关闭可能占用终端的其他程序后再尝试编译
按照上面的步骤操作后,应该能解决cygintl-2.dll缺失和Error 53的问题。
内容的提问来源于stack exchange,提问作者Thanasis1101
相关产品推荐
相关产品推荐

