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

如何在CMake中设置UseOfAtl以生成Visual Studio项目对应配置?

无需修改CMake源码配置Visual Studio项目的UseOfAtl选项

方法一:通过自定义MSBuild属性文件(.props)设置

CMake本身没有直接暴露UseOfAtl的配置变量,但可以通过给目标附加自定义MSBuild属性文件来实现:

  1. 在CMake脚本中生成一个临时的.props文件,内容包含UseOfAtl的设置:
file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/ATLStatic.props "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Project ToolsVersion=\"4.0\" xmlns=\"http://schemas.microsoft.com/developer/msbuild/2003\">\n  <PropertyGroup>\n    <UseOfAtl>Static</UseOfAtl>\n  </PropertyGroup>\n</Project>")
  1. 将这个属性文件关联到你的目标项目:
set_target_properties(你的目标名称 PROPERTIES VS_USER_PROPS "${CMAKE_CURRENT_BINARY_DIR}/ATLStatic.props")
  1. 同时设置MFC不启用(对应<UseOfMfc>false</UseOfMfc>):
set(CMAKE_MFC_FLAG 0)

方法二:通过编译选项指定静态ATL

Visual Studio的<UseOfAtl>Static</UseOfAtl>对应编译选项/ATL:static,可以直接在CMake中为目标添加该编译选项:

# 为目标添加静态ATL编译选项
target_compile_options(你的目标名称 PRIVATE "/ATL:static")

# 禁用MFC
set(CMAKE_MFC_FLAG 0)

这种方法更简洁,不需要额外生成属性文件,编译时CMake会自动将该选项传递给Visual Studio,进而自动设置UseOfAtl为Static。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.28 14:14:52