惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Schneier on Security
Schneier on Security
雷峰网
雷峰网
C
Check Point Blog
K
Kaspersky official blog
T
Tor Project blog
S
Securelist
Engineering at Meta
Engineering at Meta
B
Blog RSS Feed
SecWiki News
SecWiki News
Attack and Defense Labs
Attack and Defense Labs
B
Blog
H
Help Net Security
The GitHub Blog
The GitHub Blog
WordPress大学
WordPress大学
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
Blog — PlanetScale
Blog — PlanetScale
L
LINUX DO - 最新话题
aimingoo的专栏
aimingoo的专栏
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
Google DeepMind News
Google DeepMind News
I
InfoQ
F
Full Disclosure
Last Week in AI
Last Week in AI
Recent Announcements
Recent Announcements
Microsoft Security Blog
Microsoft Security Blog
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
小众软件
小众软件
腾讯CDC
L
LangChain Blog
TaoSecurity Blog
TaoSecurity Blog
罗磊的独立博客
O
OpenAI News
P
Privacy International News Feed
A
About on SuperTechFans
G
Google Developers Blog
Google DeepMind News
Google DeepMind News
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
美团技术团队
M
MIT News - Artificial intelligence
Project Zero
Project Zero
博客园 - Franky
Hacker News - Newest:
Hacker News - Newest: "LLM"
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
The Last Watchdog
The Last Watchdog
Hacker News: Ask HN
Hacker News: Ask HN
S
Secure Thoughts
Spread Privacy
Spread Privacy
N
News | PayPal Newsroom
G
GRAHAM CLULEY
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org

hsfzxjy 的博客

使用 3090 部署 1.58bit 动态量化版 DeepSeek R1 671b 如何在 VS Code DevContainer 中配置 HTTP 代理 如何在跳板机背后的服务器上使用 VS Code Remote - Containers Cohesive Digests for Ints and Floats Rust 中的隐匿概念 —— Place(位置) 美术馆 一尺之槌,日取其半,1075日而竭 老生常谈:使用 Cloudflare 自选 IP 加速站点访问 辩义 State、Nation 与 Country 将 Base64 编码的数据快速转换为 Uint8Array 折腾 NPU·第1章 —— 搭建 Level Zero 开发环境 折腾 NPU·第0章 —— Intel NPU 概述与 Level-Zero 新增域名 monad.run CSS 中为特定字符设置不同字体 Arbitary Lifetime Transmutation via Rust Unsoundness Dijkstra 算法的延伸 Manacher 回文计数算法 硬卧 Go Fact: Zero-sized Field at the Rear of a Struct Has Non-zero Size Display *big.Rat Losslessly and Smartly in Golang 代码的仪式 Building Electron From Scratch 中式亲属称谓研究之一:构建半群 Some Notes on Kotlin Coroutines Git sparse-checkout and partial clones for Mega-Repos 辩义“封建” Diving from the CUDA Error 804 into a bug of libnvidia-container Modern Cryptography, GPG and Integration with Git(hub) Move the Root Partition of Ubuntu A New Programmer Kicks a Roadblock Git-based Dependencies in Dart and Go Reversy Naming 人类一败涂地 Invalid Golang Pointers Can Bite You Even If You Don't Dereference Side Project(副业) A Flaw of Promoting Complex Trait Bounds in Rust Initialize Process Pool Worker with Individual Value Rust - Python FFI From Scratch [Extending Hexo For My Site] Part 1 [Extending Hexo For My Site] Part 0 Debug a 'torch.tensor(1).cuda()' hanging 不自由的互联网 Retrieve Contents over HTTP without curl or wget [Unravelling mocona] Part 1 - Verbosity or Anti-Pattern [Unravelling mocona] Part 0 - Preface Understanding pickle in Python Rough Notes on Deploying Vaultwarden & NextCloud Bookmarks 语言狂热者与实用主义者 Demystify the randomness in CUDA kernels Performant Bulk Mutations in IndexedDB Auto Rebuild .pyx Files with pyximport Cython and Threads Obtain a Random Available TCP Port with Bash Information Theory: KL Divergence Information Theory: Entropy and Mutual Information 铁板烧 西郊线 Proof of the Gumbel Max Trick Option::as_ref Rc, RefCell and Interior Mutability Visualizing Correlation 三月十日杂感 三月一日杂感 二月十一日杂感 一月二十六日杂感 SS Configuration 一月七日杂感 四月·病 Haskell 笔记:State Monad Haskell 笔记:Monad 引论 Haskell 笔记:Applicative Haskell 笔记:Category Theory and Functor Haskell 笔记:data, type, newtype Haskell 笔记:folds 使用 Aria2 在 Ubuntu 中下载百度云资源 从伪并行的 Python 多线程说起 一个 Reentrant Error 引发的对 Python 信号机制的探索和思考 Linux 文件权限 HSFZMUN 4.0 部署小记 午后雨·科大 最后的雨夜·广州 揭秘·变态的平方根倒数算法 神坑·Python 装饰类无限递归 Python“黑魔法”之 Encoding & Decoding Ubuntu 重新映射键盘布局 为什么我要翻墙 Python“黑魔法”之 Generator Coroutines 数学美 之 判断线段相交的最简方法 除夕杂感 17 行代码实现的简易 Javascript 字符串模板 Python“黑魔法”之 Meta Classes 诗集 生活,需要被“发现” 家书·十八岁成人礼 炫技?还是需求? 【译】响应式图片的现状 【译】“为什么有这么多的编程语言?” Wisecity 商赛总结——也谈前端自动化测试 记一次 DoS 诈骗网站的经历 那一年,我们望向星空
解决 VSCode + CMake + MSVC 编译器信息乱码的问题
2025-04-19 · via hsfzxjy 的博客

在 VSCode 中使用 CMake Tools 插件开发 C++ 时,如果选用 MSVC 编译器,可能会遇到编译信息乱码的问题:

warning C4267: 鈥滃弬鏁扳€�: 浠庘€渟ize_t鈥濊浆鎹㈠埌鈥淒WORD鈥濓紝鍙�鑳戒涪澶辨暟鎹�

乱码的产生通常是由于文本的创建者和解析者之间存在编码差异。在本例中,MSVC 的编译器 cl.exe 以 UTF-8 编码输出中文信息,却被 CMake Tools 以错误的 GBK 编码解析,进而导致乱码。

基于此原理,有两个解决的方向:

  1. 修复二者的编码差异
  2. cl.exe 使用英文输出

以下给出四种解决方案,推荐程度由高到低排序。

在 VSCode 设置中修改 cmake.outputLogEncodingutf-8。此方法提出于 相关 Issue

方案二:让 cl.exe 输出英文

增加一个新的全局环境变量 VSLANG=1033,禁用 MSVC 的本地化出书。其中 1033 是英语的语言代码,语言代码的列表详见 vcpkg-tools/docs/localization.md

方案三:删除 MSVC 的本地化语言包

请谨慎使用本方法,确保明白其可能的后果。

如果当初 MSVC 的安装程序 还没删,可以再次打开它,反选其中的中文语言包,卸载。

如果安装包已经找不到了,可以用以下 PowerShell 命令手动删除:

cd "C:\Program Files (x86)\Microsoft Visual Studio\"
Get-ChildItem -Recurse -Force -Directory -Filter '2052' | ForEach-Object {
$newName = "$($_.Parent.FullName)\2052_"
Rename-Item -Path $_.FullName -NewName $newName
}

方案四:更改系统全局代码页(不推荐)

请谨慎使用本方法。该方法可能使一些老旧程序乱码。

这个问答 所述,可通过修改系统代码页为 65001 (UTF-8) 彻底解决问题。具体操作是:控制面板 -> 时钟和区域 -> 区域 -> 管理 -> 更改系统区域设置 -> 勾选“Beta 版:使用 Unicode UTF-8 提供全球语言支持”。

需要注意的是,一些编写方式不正确的老旧程序可能会无视系统代码页的变化,从而乱码。该方法应作为最后手段使用。


作者:hsfzxjy
链接:
许可:CC BY-NC-ND 4.0.
著作权归作者所有。本文不允许被用作商业用途,非商业转载请注明出处。