ARM64 Windows下MSYS2安装的gcc是64位还是32位?
ARM64 Windows下MSYS2 MINGW工具包与CodeLLDB调试问题排查
一、MINGW工具包标识的含义
- MSYS2默认安装的MINGW组件中,带
64后缀的工具包对应ARM64架构的64位编译工具链(目标平台arm64-w64-mingw32),用于构建64位ARM可执行文件;带32后缀的对应ARM32架构的32位编译工具链(目标平台arm-w64-mingw32),用于构建32位ARM可执行文件。ARM64 Windows原生支持这两种架构的程序运行。
二、CodeLLDB报错This platform (win32-arm64) is not supported的原因
这个报错主要有两种可能:
- CodeLLDB版本兼容性问题:旧版本的CodeLLDB未适配win32-arm64平台,LLDB对Windows ARM64的完整支持是后续版本才添加的。
- 调试器与目标程序架构不匹配:如果使用了x86_64版本的LLDB调试ARM64程序,或者CMake构建时目标平台配置混乱,都会触发该报错。
三、验证与解决步骤
1. 确认当前使用的工具链架构
在VSCode终端中(需切换到对应MINGW工具链的环境),执行命令查看编译器目标平台:
gcc -v
输出的Target字段会明确显示arm64-w64-mingw32(64位)或arm-w64-mingw32(32位),确认工具链与你要构建的程序位数匹配。
2. 更新CodeLLDB到最新版本
打开VSCode扩展市场,找到CodeLLDB扩展,检查并更新到最新版本。目前最新版CodeLLDB已原生支持win32-arm64平台,更新后大概率能解决报错。
3. 手动指定MSYS2自带的LLDB路径(若更新后仍报错)
MSYS2的MINGW64组件自带适配ARM64的LLDB,路径通常为C:\msys64\mingw64\bin\lldb.exe(对应64位工具链)。在VSCode的settings.json中添加以下配置:
"codelldb.lldbPath": "C:/msys64/mingw64/bin/lldb.exe"
请根据你的MSYS2实际安装路径调整。
4. 明确CMake目标平台配置
在CMakeLists.txt中添加以下配置,强制指定目标架构为ARM64,避免自动检测出错:
set(CMAKE_SYSTEM_NAME Windows) set(CMAKE_SYSTEM_PROCESSOR ARM64)
也可以在VSCode的CMake Tools配置中,直接指定编译器路径为arm64-w64-mingw32-gcc/arm64-w64-mingw32-g++。
内容的提问来源于stack exchange,提问作者Joymaker
相关产品推荐
相关产品推荐

