如何在 Visual Studio 2019 中使用 cmake 项目进行“编辑并继续”构建?

Ola*_*lav 5 c++ cmake visual-studio

我想在我的 Visual Studio cmake C++ 项目中执行“编辑并继续”。我知道我必须将 /Zi 更改为 /ZI,但是在哪里?

这是 C++

JPN*_*gon 0

最简单的方法是在第一个目标的定义之前插入以下命令:

if (CMAKE_CXX_COMPILER_ID MATCHES "MSVC")
  set(CMAKE_CXX_FLAGS_DEBUG "/ZI")
  set(CMAKE_SHARED_LINKER_FLAGS "/SAFESEH:NO")
  set(CMAKE_EXE_LINKER_FLAGS "/SAFESEH:NO")
endif()
Run Code Online (Sandbox Code Playgroud)

如果您希望为特定目标设置选项,请使用

if (CMAKE_CXX_COMPILER_ID MATCHES "MSVC")
  target_compile_options(${PROJECT_NAME} PRIVATE "/ZI")
  target_link_options(${PROJECT_NAME} PRIVATE "/SAFESEH:NO")
endif()
Run Code Online (Sandbox Code Playgroud)

警告:从撰写本文时的 Visual Studio 最新版本 (16.4.2) 开始,Visual Studio 无法处理 lambda 函数的更改。

  • @PedroVicente 根据本书 https://crascit.com/professional-,建议优先选择 `list(APPEND listVar item [item...])` 而不是 `set(listVar "${listVar} /ZI")` cmake/ (2认同)