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

如何在CMake生成的Visual Studio 2019 C++ DLL项目中启用并配置WPP追踪

解决Visual Studio 2019 CMake项目中配置WPP追踪的问题

你说得没错,VS_SETTINGS属性确实只能用于配置单个源文件的元数据,无法直接修改项目级的vcxproj设置。要在生成的vcxproj中启用WPP追踪并配置扫描文件,有两种简便的方法:

方法一:直接通过CMake目标属性和编译选项设置

可以结合set_target_properties和target_compile_options来完成配置,不需要额外的.props文件:

cmake_minimum_required (VERSION 3.23)
include(CMakeParseArguments)
project(test_sln)
set(CMAKE_GENERATOR_TOOLSET "Visual Studio 16 2019")
set_property(GLOBAL PROPERTY USE_FOLDERS ON)

# 假设这里已经定义了SOURCES变量包含所有源文件
add_library(test_proj SHARED ${SOURCES})

set_target_properties(test_proj PROPERTIES
    LINKER_LANGUAGE CXX
    VS_PLATFORM_TOOLSET "WindowsApplicationForDrivers10.0"
    # 设置项目级WppEnabled属性
    VS_GLOBAL_WppEnabled "true"
)

# 添加WPP扫描配置文件的编译选项
target_compile_options(test_proj PRIVATE
    /Wpp:scanconfig:trace.h
)

这段代码会在生成的vcxproj中自动生成以下配置:

  • <WppEnabled>true</WppEnabled>(通过VS_GLOBAL_WppEnabled设置项目级属性)
  • <WppScanConfigurationData>$(ProjectDir)\trace.h</WppScanConfigurationData>(通过/Wpp:scanconfig编译选项,Visual Studio会自动将该参数映射到对应的项目属性)

方法二:使用自定义.props文件(适合复杂配置)

如果需要添加更多自定义的WPP设置,可以创建一个单独的wpp.props文件,再通过CMake引入:

  1. 在项目目录下创建wpp.props文件,内容如下:
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <ItemDefinitionGroup>
    <ClCompile>
      <WppEnabled>true</WppEnabled>
      <WppScanConfigurationData>$(ProjectDir)\trace.h</WppScanConfigurationData>
      <!-- 可在此添加更多WPP相关配置,比如WppAdditionalOptions等 -->
    </ClCompile>
  </ItemDefinitionGroup>
</Project>
  1. 在CMakeLists.txt中引入这个.props文件:
set_target_properties(test_proj PROPERTIES
    LINKER_LANGUAGE CXX
    VS_PLATFORM_TOOLSET "WindowsApplicationForDrivers10.0"
    # 引入自定义props文件
    VS_USER_PROPS "${CMAKE_CURRENT_SOURCE_DIR}\\wpp.props"
)

这种方法的优势是可以灵活扩展更多WPP相关的MSBuild属性,适合复杂的追踪配置需求。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.27 21:43:11