Visual Studio的调试器默认的工作目录是$(ProjectDir)
。
我真正想要的是将其设置为$(TargetDir)
(即运行的.exe
所在的位置)。
这个答案提供了正确的语法,所以我尝试了以下内容:
if (CMAKE_CXX_COMPILER_ID MATCHES "MSVC")
set_target_properties(${PROJECT_NAME} PROPERTIES VS_DEBUGGER_WORKING_DIRECTORY ${PROJECT_BUILD_DIR}/Debug)
endif()
然而,这个硬编码了“Debug”,我不喜欢这样。我尝试在结尾处使用“$<CONFIG>”,但在Visual Studio中无效(表达式未被计算)。我还尝试使用“$(TargetDir)”,但它不起作用。但是,如果我手动删除变量“$(TargetDir)”并将其粘贴回去,它就可以工作。如何在不硬编码的情况下设置调试器的工作目录为可执行文件输出目录?