You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Visual Studio编译WinRT示例时winrt/base.h报大量错误如何解决

编译错误原因及解决方案

错误触发根因

winrt\base.h报大量错误的核心原因是默认新建的C控制台项目未适配C/WinRT的编译规则,同时你的代码文件结构也存在错误。

具体修复步骤

  • 首先确认Visual Studio已安装必要组件:
    打开Visual Studio Installer,在「使用C的桌面开发」工作负载中勾选「C/WinRT」可选组件,同时安装「通用Windows平台开发」工作负载,使用的Windows SDK版本建议在10.0.17763.0及以上。
  • 调整项目属性配置:
    右键项目打开属性面板,修改以下配置:
    1. 「C/C++」→「语言」→「C标准」选择 *ISO C17 标准(/std:c17)* 或更高版本,C/WinRT必须依赖C++17及以上标准支持
    2. 「高级」→「字符集」选择 使用Unicode字符集
    3. 「链接器」→「系统」→「子系统」确认选择 控制台(/SUBSYSTEM:CONSOLE)
  • 修正代码文件结构:
    你当前把main函数写在了ConsoleApplication2.h头文件中是错误用法,需要新建ConsoleApplication2.cpp源文件,将原本写在ConsoleApplication2.h里的代码移到.cpp文件中,头文件仅保留声明逻辑即可。
  • 清理缓存重新编译:
    清理项目原有编译缓存,重新生成解决方案即可正常编译。

额外排查项

如果配置完成后仍然报错,检查是否额外安装了旧版本的C++/WinRT NuGet包,新版本Visual Studio自带C++/WinRT支持,无需额外安装NuGet包,移除冲突包即可恢复正常。

内容的提问来源于stack exchange,提问作者xikov

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.15 06:06:03