Windows下编译Qt6出现syncqt.cpp错误,求原因及解决方案
问题原因
错误码0xc0000139是Windows平台下的动态链接库加载失败错误,结合报错提示,核心原因是PATH环境变量中混入了与当前编译Qt所用的MSYS2 UCRT64 GCC不兼容的C++标准库/运行时库。比如系统中存在Visual Studio的VC++运行时、其他版本MinGW的库,或是第三方软件附带的库,导致syncqt工具加载了错误版本的库,直接引发崩溃。
解决方法
- 清理并重置环境变量
关闭所有现有终端,打开纯净的MSYS2 UCRT64终端(避免用PowerShell/CMD直接调用,防止带入系统PATH里的冲突路径)。此时终端的PATH应仅包含MSYS2 UCRT64相关路径(如C:/msys64/ucrt64/bin、C:/msys64/usr/bin),排除其他第三方库路径或VS的VC运行时路径。 - 重新执行配置命令
在纯净的MSYS2终端中进入Qt6构建目录,重新执行configure命令(注意Windows路径不要用单引号包裹):../configure.bat -prefix C:/qt6 - 检查MSYS2依赖完整性
用MSYS2包管理器更新所有依赖,确保编译环境的组件版本匹配:pacman -Syu mingw-w64-ucrt-x86_64-gcc mingw-w64-ucrt-x86_64-cmake mingw-w64-ucrt-x86_64-ninja - 避免混合环境调用
全程使用MSYS2自带的终端完成配置和编译流程,不要混合PowerShell/CMD环境,防止环境变量污染导致库冲突。
内容的提问来源于stack exchange,提问作者Hussein Sarea
相关产品推荐
相关产品推荐

