如何根据构建类型设置 add_executable WIN32 属性?

Jen*_*aKh 4 c c++ windows cmake

此操作失败并显示错误“找不到源文件:WIN32。尝试了扩展...”

add_executable(${PROJECT_NAME} $<$<CONFIG:Release>:WIN32> main.cpp)
Run Code Online (Sandbox Code Playgroud)

我需要这个才能在调试模式下在控制台中启动应用程序并能够读取打印到控制台的信息。

据我所知这是错误的,建议在 cmake 文档中再次直接CMAKE_BUILD_TYPE检查Release

vre*_*vre 5

正如您所注意到的,您不能在命令中使用 WIN32 关键字的生成器表达式add_executable

WIN32_EXECUTABLE相反,尝试在目标上设置相应的属性:

set_target_properties(${PROJECT_NAME} PROPERTIES WIN32_EXECUTABLE $<CONFIG:Release>)
Run Code Online (Sandbox Code Playgroud)