我正在尝试使用新的VS_DEBUGGER_WORKING_DIRECTORY和VS_DEBUGGER_COMMAND属性,以方便在CMake生成的Visual Studio项目文件(在我的情况下为Visual Studio 2013)中进行调试。
除此以外,我配置中的其他所有内容都有效……
我从“常规” Visual Studio项目文件(即不是从CMake生成的文件)中注意到,在“配置属性/调试”对话框中,默认情况下,“命令”和“工作目录”字段填充为$(TargetPath)和$(TargetDir)。所以在我的CMakeLists.txt文件中,我有:
set_target_properties(myApplication PROPERTIES VS_DEBUGGER_WORKING_DIRECTORY "$(TargetDir)"
VS_DEBUGGER_COMMAND "$(TargetPath)"
VS_DEBUGGER_ENVIRONMENT "%PATH%;C:\\Qt\\5.9.7\\msvc2013_64\\bin")
[事实上,我已经尝试过使用$(TargetDir)和$(TargetPath)前后的引号,并且每次的结果都是相同的;它们绝对是必经之路。]
发生的事情是,然后我构建应用程序,转到“配置属性/调试”对话框,并验证它看起来与普通项目文件完全相同,其中$(TargetDir)和$(TargetPath)出现在什么位置他们应该做。但是,它不起作用。当我尝试调试时,收到消息“无法开始调试。请检查调试器设置...”
因此,我从对话框中删除了文本$(TargetDir)和$(TargetPath),然后再次像以前一样键入它们:然后它可以正常工作。
我在做什么错了?
答案 0 :(得分:1)
事实证明,解决方案是分别用CMake生成器表达式“ manifest.json
”和“ $<TARGET_FILE:myApplication>
”替换“ $(TargetPath)”和“ $(TargetDir)”,即:
$<TARGET_FILE_DIR:myApplication>