Clion+Qt+msvc的配置使用,调试器显示Qt特有类型变量的值(如Qstring等)_qt.natvis-CSDN博客

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 ()

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


原网址: 访问
创建于: 2024-05-28 10:10:02
目录: default
标签: 无

请先后发表评论
  • 最新评论
  • 总共0条评论