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

如何在CMake生成项目时插入自定义XML行禁用VS升级提示

CMake插入VS项目禁用升级提示配置的方法

CMake原生支持向VS项目的全局配置段注入自定义属性,通过内置的VS全局属性相关接口即可实现,无需手动修改生成后的项目文件,且可以通过条件判断不影响Unix平台的正常生成。


1. 仅对指定目标生效

在目标定义语句(add_executable/add_library等)之后添加如下配置即可:

if(MSVC)
  set_target_properties(替换为你的实际目标名 PROPERTIES
    VS_GLOBAL_VCProjectUpgraderObjectName "NoUpgrade"
  )
endif()

2. 对当前项目所有目标全局生效

在最顶层CMakeLists.txt的project指令之前添加如下配置:

if(CMAKE_GENERATOR MATCHES "Visual Studio")
  set(CMAKE_VS_GLOBALS
    "VCProjectUpgraderObjectName=NoUpgrade"
  )
endif()

该配置会自动应用到后续定义的所有VS项目目标上,CMAKE_VS_GLOBALS变量需要CMake 3.18及以上版本支持,低版本CMake可以给每个目标单独设置属性即可。


配置完成后重新生成项目,打开生成的.vcxproj文件即可看到<VCProjectUpgraderObjectName>NoUpgrade</VCProjectUpgraderObjectName>已经自动插入到项目全局配置段,启动VS时不会再弹出升级提示。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 03:45:03