首页 > 其他分享 >vsstudio: cmake项目调试

vsstudio: cmake项目调试

时间:2023-09-28 18:11:40浏览次数:44  
标签:cmake QT 配置 编译器 Debug vsstudio 调试 name

vsstudio: cmake项目调试

本文用于记录,在利用vsstudio进行cmake的QT项目研发过程中的环境配置。

Qt Visual Studio Tool安装

在vs studio的扩展中搜索QT找到 QT Visual Studio 进行安装, 然后配置QT所在路径

QT环境配置

此时如果运行cmake进行config时会报错, 提示找不到QT相关环境。此时则需要在CMakeSetting.json中添加如下配置:

"variables": [
{
    "name": "CMAKE_PREFIX_PATH",
    "value": "QT编译器, 如msvc编译器",
    "type": "STRING"
}
]

整个配置如下:

{
  "configurations": [
    {
      "name": "x64-Debug",
      "generator": "Ninja",
      "configurationType": "Debug",
      "inheritEnvironments": [ "msvc_x64_x64" ],
      "buildRoot": "${projectDir}\\out\\build\\${name}",
      "installRoot": "${projectDir}\\out\\install\\${name}",
      "cmakeCommandArgs": "",
      "buildCommandArgs": "",
      "ctestCommandArgs": "",
      "variables": [
        {
          "name": "CMAKE_PREFIX_PATH",
          "value": "QT编译器, 如msvc编译器",
          "type": "STRING"
        }
      ]
    }
  ]
}

接下来再对cmake进行config时将会很顺畅

Debug

CMake项目进行Debug,由于依赖的原因, 可能启动会报依赖缺失错误。此时则需要配置调试,配置的是一个json文件, 默认存储在.vs目录的launch.vs.json文件中。在该配置中修改环境变量:

{
  "version": "0.2.1",
  "defaults": {},
  "configurations": [
    {
      "type": "default",
      "project": "CMakeLists.txt",
      "projectTarget": "xxx.exe",
      "name": "xxx.exe",
      "env": {
        "PATH": "${env.PATH};依赖的路径分号间隔"
      }
    }
  ]
}

主要配置env, OK,大功告成。

标签:cmake,QT,配置,编译器,Debug,vsstudio,调试,name
From: https://www.cnblogs.com/quenwaz/p/17735146.html

相关文章

  • 如何远程获取污水处理设备数据并进行远程编程调试
    随着工业自动化设备和工控设备的发展,越来越多场景实现自动化智能生产,污水处理行业也不例外。污水处理设备随着污水处理厂的部署分布在各地,具备分布广、站点多、实时性差等特点,对于设备管理运维造成困难,运维成本高、工作效率差。如果要对分布式多个污水处理设备进行远程监控和远程编......
  • GDB调试入门(一)
    GDB调试入门(一)嵌入式er终极理想稚晖君 6人赞同了该文章当代码量较多时,使用GDB调试代码可以相对便捷的定位错误点,提高Dbug效率。首先先熟悉下GDB调试的基本流程:1.在编译代码是添加gcc添加–g选项:gcc-gtest.c-otest.out2.然后在bash环境中使用GD......
  • 【RZ7889】直流电机驱动IC的调试
    智能锁主控新添加了一个驱动直流有刷电机的功能,这里我使用RZ7889,记录一些问题。首先放原理图。此处DIR_A连接的是PB7引脚,DIR_B连接PB6引脚。其中PB7可输出PWM,PB6只能作为普通IO使用。(本想都接具有PWM输出的引脚,这里设计错误)由于输入电压为12V,还要进行电流采样......
  • 一款免费的响应式界面调试工具
    不知道大家平时开发响应式前端代码是如何调试的?是不是也跟我一样,通过浏览器的开发者工具来切换不同的界面尺寸来看验证效果呢?可能是因为习惯了,平时就不停的切换不同尺寸来看效果。直到TJ君看到今天要推荐的这个免费工具,我才发现之前的调试方式好傻...使用体验下面,我们还一起来......
  • Idea+SpringBoot控制台调试打印sql语句
    在application.yml中添加:logging:level:com.xiaobai.stock.mapper:DEBUG//注意:':'后有空格,不能省略mapper:运行时控制台 ......
  • 8.10 TLS线程局部存储反调试
    TLS(ThreadLocalStorage)用来在进程内部每个线程中存储私有的数据。每个线程都会拥有独立的TLS存储空间,可以在TLS存储空间中保存线程的上下文信息、变量、函数指针等。TLS其目的是为了解决多线程变量同步问题,声明为TLS变量后,当线程去访问全局变量时,会将这个变量拷贝到自己线程中的......
  • 8.7 父进程检测反调试
    首先这是一种比较奇特的反调试思路,通过检测自身父进程来判定是否被调试,原理非常简单,我们的系统在运行程序的时候,绝大多数应用程序都是由Explorer.exe这个父进程派生而来的子进程,也就是说如果没有被调试其得到的父进程就是Explorer.exe的进程PID,而如果被调试则该进程的父进程PID就......
  • 8.9 RDTSC时钟检测反调试
    RDTSC时钟检测同样可实现反调试检测,使用时钟检测方法是利用rdtsc汇编指令,它返回至系统重新启动以来的时钟数,并且将其作为一个64位的值存入EDX:EAX寄存器中,通过运行两次rdstc指令,然后计算出他们之间的差值,即可判定对方是否在调试我们的程序。可以利用时钟检测技术来检测程序是否被......
  • 8.8 异常处理机制反调试
    通常可以通过在程序中设置异常处理函数,并在其中发起一个异常,然后判断程序是否已经被调试器附加来实现反调试。如果异常处理函数没有被触发,则说明程序已经被调试器附加;如果异常处理函数被触发,则说明程序没有被调试器附加。安装异常处理函数并手动触发,此时如果被调试器附加,则会不走......
  • 模拟.NET应用场景,综合应用反编译、第三方库调试、拦截、一库多版本兼容方案
    免责声明使用者本人对于传播和利用本公众号提供的信息所造成的任何直接或间接的后果和损失负全部责任。公众号及作者对于这些后果不承担任何责任。如果造成后果,请自行承担责任。谢谢!大家好,我是沙漠尽头的狼。本文首发于Dotnet9,结合前面两篇(如何在没有第三方.NET库源码的情......