VS Code + CMake Tools + MSVC 在 Windows 下构建日志中文乱码的根因与解决方案

问题本质:

并不是 Qt、MSVC 或源码编码的问题,而是 VS Code 的 CMake Tools 在 Windows 下错误解码了 MSBuild 的输出日志,导致 UTF-8 内容被当成 GBK 显示,从而出现中文乱码。


错误场景:

在vscode上使用cmake+msvc编译c++ qt 项目时


问题描述

在vscode输出的编译数据中存在乱码现象

[main] 正在生成文件夹: c:/Users/xingy/Desktop/gongju/ukey/ukey/build [build] 正在启动生成
 [proc] 正在执行命令: "C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\bin\cmake.exe" --build c:/Users/xingy/Desktop/gongju/ukey/ukey/build --config Release --target ALL_BUILD -j 6 -- 
 [build] 閫傜敤浜� .NET Framework MSBuild 鐗堟湰 17.14.23+b0019275e

Qt 程序正常
编译成功
只有 VS Code 构建日志乱码


原因分析:

出现乱码的原因时cmake输出的数据时utf8格式,但是vscode内部的数据传输的时候接受到时将数据转换为gbk格式接收,导致编码出现问题


解决方案:

打开vscode的设置页面
打开vscode设置
在搜索中输出encoding
vscode的设置页面
将Output Log Encoding
来自外部命令的输出的编码
中的auto改为utf8

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值