首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >正确使用VS_DEBUGGER_WORKING_DIRECTORY等

正确使用VS_DEBUGGER_WORKING_DIRECTORY等
EN

Stack Overflow用户
提问于 2019-04-17 01:17:23
回答 1查看 1.8K关注 0票数 5

我正在尝试使用新的VS_DEBUGGER_WORKING_DIRECTORY和VS_DEBUGGER_COMMAND属性来简化CMake生成的Visual Studio项目文件(在我的示例中是Visual Studio2013)中的调试。

我的配置中的其他所有东西都可以工作,除了这个…

我从“常规”Visual Studio项目文件(即不是从CMake生成的文件)中注意到,在“配置属性/调试”对话框中,“命令”和“工作目录”字段默认分别填充$(TargetPath)和$(TargetDir)。因此,在我的CMakeLists.txt文件中,我有:

代码语言:javascript
复制
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)出现在它们应该出现的位置。但是它不起作用;当我尝试调试时,我得到一条消息说:"Unable to start debug . Check your debugger settings...“

因此,我从对话框中删除了文本$(TargetDir)和$(TargetPath),然后像以前一样再次键入它们:然后它就可以完美地工作了。

我做错了什么?

EN

回答 1

Stack Overflow用户

发布于 2019-04-17 16:31:23

事实证明,解决方案是将"$(TargetPath)“和"$(TargetDir)”分别替换为CMake生成器表达式"$<TARGET_FILE:myApplication>“和"$<TARGET_FILE_DIR:myApplication>",即:

代码语言:javascript
复制
set_target_properties(myApplication PROPERTIES VS_DEBUGGER_WORKING_DIRECTORY "$<TARGET_FILE_DIR:myApplication>"
                                               VS_DEBUGGER_COMMAND           "$<TARGET_FILE:myApplication>"
                                               VS_DEBUGGER_ENVIRONMENT       "PATH=%PATH%;${CMAKE_PREFIX_PATH}/bin")
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55713475

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档