Windows+MSYS2|UCRT64下GCC用-gcodeview报错,需特殊编译配置吗?
解决Windows MSYS2 UCRT64环境下GCC
-gcodeview报错问题 1. 先确认GCC的版本和运行环境
- 一定要用UCRT64环境下的MinGW GCC,别用MSYS环境的Cygwin GCC:
- 打开MSYS2的UCRT64终端(启动器里选
MSYS2 UCRT64),执行g++ --version,输出里得有mingw-w64-ucrt-x86_64的字样。 - 如果你的GCC版本低于8,得升级:执行
pacman -Syu ucrt64/mingw-w64-ucrt-x86_64-gcc,跟着提示完成升级。
- 打开MSYS2的UCRT64终端(启动器里选
2. 用对编译参数
- 直接加
-gcodeview就能生成CodeView格式的PDB文件,示例命令:g++ -gcodeview -o myprogram.exe mysource.cpp - 要是想指定PDB的输出路径,搭配链接器参数就行:
g++ -gcodeview -Wl,--pdb=./myprogram.pdb -o myprogram.exe mysource.cpp
3. 排查常见坑
- 要是还报错,检查是不是把参数写成了
-g codeview(正确格式是-gcodeview,中间不能有空格)。 - 编译时别同时用其他调试格式参数(比如
-gdwarf),不然会冲突。
内容的提问来源于stack exchange,提问作者Fabian Keßler
相关产品推荐
相关产品推荐

