Clion+Qt+msvc的配置使用,调试器显示Qt特有类型变量的值(如Qstring等)

Clion+Qt+msvc的配置使用,调试器显示Qt特有类型变量的值(如QString等)

使用Clion进行Qt编程时,对于Qt库特有的变量(如QString、QPoint等)无法在调试器中显示,只能看到其地址。例如如下情况:
未配置时
jetbrians 对此的解释如下:
debugger renderers
可以看到这里他推荐使用Windows MSVC作为编译器,也就是在调试器的工具链中选择visual studio
这里他还提到了一个重要的文件 qt5.natvis .这个文件可以定义一个类的对象在调试窗口时显示。你可以在GitHub上下载到它:qt5.natvis

预先准备

  1. Qt5组件下载(MSVC)
  2. Visual Studio下载
  3. natvis 下载(链接在上文中)
  4. 添加环境变量

Qt5组件下载

在Qt官网下载安装包,按一般步骤进行安装。在选择组件部分:
选择组件
务必选择MSVC组件 其他根据需要选择

Visual Studio下载

安装Visual Studio Community 社区版本,在单个组件选项页面搜索msvc,找到MSVC vxxx - VS xxxx C++ X64/x86生成工具,打勾安装即可。
组件选择
额外提一句:本文默认已安装Clion最新版本(2021)

添加环境变量(必须先添加变量后打开clion)

在 我的电脑 > 属性 > 高级系统设置 > 环境变量 > 系统环境变量 中
找到path变量,点击编辑,将刚才qt安装目录下的**…\msvc2017_64\bin** 路径添加到环境变量:
环境变量
当你的环境变量中有多个msvc\bin 目录时,将你想用的那个(qt的)放在第一行

在Clion中配置

  1. 新建项目时的配置
  2. 在设置中的配置
  3. 在cmakelist中的配置

新建项目时的配置

按下图所示进行配置,必须添加Qt CMake 前缀路径,该路径是之前安装Qt组件时MSVC组件的路径
新建项目

在设置中的配置

按下图所示配置工具链
配置工具链
点击加号添加visual studio;点击上箭头将visual studio设为默认;在toolset中选择vs的安装路径;架构选择__64位架构__。
保证CMake的设置与下图一致:
CMake设置
在调试器 > 数据视图 > C/C++ 选项中,按下图进行配置
调试器配置
确认勾选 为LLDB启用NatVis渲染器 ,并在诊断选项中选择 verbose
点击确定,设置部分配置完成。

在CMakeLists中设置

首先将下载的 qt5.natvis 复制到项目的根目录中
添加natvis
打开CMakeLists.txt
确认path是否如下图所示
path
修改下方的add custom command
原先:

if (EXISTS "${QT_INSTALL_PATH}/plugins/platforms/qwindows${DEBUG_SUFFIX}.dll")
        add_custom_command(TARGET ${PROJECT_NAME} POST_BUILD
                COMMAND ${CMAKE_COMMAND} -E make_directory
                "$<TARGET_FILE_DIR:${PROJECT_NAME}>/plugins/platforms/")
        add_custom_command(TARGET ${PROJECT_NAME} POST_BUILD
                COMMAND ${CMAKE_COMMAND} -E copy
                "${QT_INSTALL_PATH}/plugins/platforms/qwindows${DEBUG_SUFFIX}.dll"
                "$<TARGET_FILE_DIR:${PROJECT_NAME}>/plugins/platforms/")
    endif ()

将plugin目录删去(否则无法识别platforms文件夹,不知道为啥),变为:

if (EXISTS "${QT_INSTALL_PATH}/plugins/platforms/qwindows${DEBUG_SUFFIX}.dll")
        add_custom_command(TARGET ${PROJECT_NAME} POST_BUILD
                COMMAND ${CMAKE_COMMAND} -E make_directory
                "$<TARGET_FILE_DIR:${PROJECT_NAME}>/platforms/")
        add_custom_command(TARGET ${PROJECT_NAME} POST_BUILD
                COMMAND ${CMAKE_COMMAND} -E copy
                "${QT_INSTALL_PATH}/plugins/platforms/qwindows${DEBUG_SUFFIX}.dll"
                "$<TARGET_FILE_DIR:${PROJECT_NAME}>/platforms/")
    endif ()

至此所有配置全部完成,运行效果如下:
在这里插入图片描述
可以看到字符串成功显示出来了。

  • 9
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值