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

如何在VS2017 C++项目中编辑自动生成的manifest文件?

解决VS2017中配置Windows兼容性Manifest以使用IsWindows10OrGreater()的问题

核心操作路径:添加官方模板生成的应用程序Manifest文件

VS2017会自动生成默认Manifest但无法直接编辑,正确做法是添加官方提供的Manifest模板文件并修改:

  • 右键项目 → 添加 → 新建项
  • 在弹出的窗口中搜索应用程序清单文件,选中后点击添加,项目中会自动生成app.manifest文件
  • 打开app.manifest,找到<compatibility>区段,确保包含你需要声明兼容的Windows版本ID,完整的兼容性配置示例如下:
<compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
    <application>
        <!-- 声明兼容Windows 10/11 -->
        <supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}"/>
        <!-- 声明兼容Windows 8.1 -->
        <supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}"/>
        <!-- 声明兼容Windows 8 -->
        <supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}"/>
        <!-- 声明兼容Windows 7 -->
        <supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}"/>
    </application>
</compatibility>
  • 保存文件后,VS构建时会自动使用这个Manifest,替代默认生成的版本

额外注意事项

  • 使用IsWindows10OrGreater()等版本判断函数时,必须包含头文件#include <VersionHelpers.h>
  • 若出现链接错误,可在项目属性→配置属性→链接器→输入中,手动添加Kernel32.lib到附加依赖项
  • 不要手动在资源文件夹添加Manifest文件,VS构建时不会识别这类自定义位置的Manifest,必须通过官方模板添加到项目根目录或指定路径

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 03:47:19