vscode-QT环境配置

vscode-QT环境配置

参考链接:https://www.cnblogs.com/RioTian/p/18281114

一、 背景

  1. 已经安装了QT软件,电脑里有了QT Creater 12.0。
  2. 使用QT生成并运行了一个project
  3. 在这个project的基础上,直接配置vscode的环境

二、环境配置

  1. 确认QT工程成功运行

  2. 确认QT的运行配置

    • 这个看起来是构建的配置

      在这里插入图片描述

    • 运行路径看起来没什么特别的,就是执行exe文件
      在这里插入图片描述

  3. 用构建命令运行一下

    • 点击详情,确认一下工具的地址 在这里插入图片描述

      如果需要的话,后续这个工具应该配置到环境变量里面。方便一点

    • qmake运行pro文件

      • qmake.exe …/LogTool.pro
        在这里插入图片描述
        在这里插入图片描述

        可能是一些需要的环境配置吧,不太懂makefile 在这里插入图片描述

      • 执行的时候把所有参数都去了,等有问题再回来研究参数吧

      • 后半段有个make的运行,再试试:make qmake_all
        在这里插入图片描述

        在这里插入图片描述

      • 用了原命令也报相同的问题。暂时忽略,直接进入第二步,正好也是make

    • D:\Software\Qt6\Tools\mingw1120_64\bin\mingw32-make.exe -j4 in ./debug

      • 模仿原命令写的,报错了
        在这里插入图片描述

      • in应该是个伪代码,重新尝试一下先进入命令,然后运行make
        在这里插入图片描述

      • 确认结果

        debug目录多了一些东西
        在这里插入图片描述

        看起来问题不大,但是无法运行。。。。
        在这里插入图片描述

      • 应用无法在电脑上运行

        QT环境配置的时候就踩过这个坑
        在这里插入图片描述

        之前的结论是,release的命令好使

        • 使用release的命令 + mingw32-make编译到debug目录
          在这里插入图片描述

          重新生成了一下,debug目录还是无法运行

        • 用release的命令 + make试一下

          在这里插入图片描述
          在这里插入图片描述

          可以确认应用无法运行的问题解决了

        • 回顾一下QT的编辑log

          在这里插入图片描述

          按照这个设置输命令,在debug目录生成了exe,直接执行也会提示版本不对,无法执行。换成之前配置过的mingw包里面的make就行了

          D:\Software\Qt6\6.6.3\mingw_64\bin\qmake.exe ../LogTool.pro -spec win32-g++ "CONFIG+=debug" "CONFIG+=qml_debug"

          make -j7 release

          以下是版本参考
          在这里插入图片描述

        • 配置环境变量,解决库的问题

          在这里插入图片描述

          需要将Qt的mingw放到原有的mingw上,否则会提示引用的库找不到入口点

          https://blog.csdn.net/weixin_44965579/article/details/141187782

          但是这样设置的话,运行exe其实还是依赖环境变量。不是最优解法……

        • 添加依赖库

          https://blog.csdn.net/Zander0/article/details/121741365

          D:\BasicSetting\Qt_mingw64\bin\windeployqt.exe LogTool.exe

          在这里插入图片描述

  4. 确认编译步骤

    • D:\Software\Qt6\6.6.3\mingw_64\bin\qmake.exe ../LogTool.pro -spec win32-g++ "CONFIG+=debug" "CONFIG+=qml_debug"
    • make -j7
    • windeployqt LogTool.exe
  5. 安装Vscode的相关插件

    • QT UI

      • 用以读取.ui文件

        在这里插入图片描述

      • ctrl+shift+p
        在这里插入图片描述

        在这里插入图片描述

  6. 配置ui文件

    • 配置launch.json

      上面装组件的方式,没有成功运行Designer,于是放弃

      launch的方式配置。每次打开ui文件,执行用Designer.exe打开ui文件的命令,达到类似的效果

      {"version": "0.2.0","configurations": [        {"name": "ui Set","type": "cppdbg","request": "launch","program": "D:\\BasicSetting\\Qt_mingw64\\bin\\designer.exe","cwd": "${workspaceFolder}","stopAtEntry": false,"externalConsole": false,"args": ["${file}"],"setupCommands": [{"description": "Enable pretty-printing for gdb","text": "-enable-pretty-printing","ignoreFailures": true}]}]
      }
      
  7. Qt编译环境配置

    • 配置launch.json

      {"version": "0.2.0","configurations": [{"name": "QtBuild","type": "cppdbg","request": "launch","program": "${fileDirname}/Out/release/${relativeFileDirname}.exe","args": [],"stopAtEntry": false,"cwd": "${fileDirname}","environment": [],"externalConsole": false,"MIMode": "gdb","preLaunchTask": "QtBuild","setupCommands": [{"description": "Enable pretty-printing for gdb","text": "-enable-pretty-printing","ignoreFailures": true},{"description": "Set Disassembly Flavor to Intel","text": "-gdb-set disassembly-flavor intel","ignoreFailures": true}]},{"name": "ui Set","type": "cppdbg","request": "launch","program": "D:\\BasicSetting\\Qt_mingw64\\bin\\designer.exe","cwd": "${workspaceFolder}","stopAtEntry": false,"externalConsole": false,"args": ["${file}"],"setupCommands": [{"description": "Enable pretty-printing for gdb","text": "-enable-pretty-printing","ignoreFailures": true}]}]
      }
      
    • 配置tasks.json

      {"version": "2.0.0","tasks": [{"label": "createOut","type": "shell","group": {"kind":"build","isDefault": true},"command": "PowerShell","args": ["if (-not (Test-Path \"Out\")) { New-Item -ItemType Directory -Path \"Out\" }" //Power shell的命令,找out目录,如果没有就创建文件],"options": {"cwd": "${fileDirname}",}},{"label": "ProBuild",  //在out目录下,编译pro文件"type": "shell","command": "D:\\BasicSetting\\Qt_mingw64\\bin\\qmake.exe",// "command": "ls","problemMatcher": [],"args": ["${fileDirname}\\${relativeFileDirname}.pro"],"options": {"cwd": "${fileDirname}\\Out\\","shell": {"executable": "PowerShell"}},"dependsOn":[],},{"label": "makeFile", //在out目录下,将makefile生成为exe"command": "D:\\BasicSetting\\mingw64\\bin\\make.exe",// "command": "ls","args": ["-j8","release"],"options": {"cwd": "${fileDirname}\\Out\\"},"dependsOn":[],},{"label": "deployDll",  //将exe需要的部署到此目录"command": "D:\\BasicSetting\\Qt_mingw64\\bin\\windeployqt.exe",// "command": "ls","args": ["${relativeFileDirname}.exe"],"options": {"cwd": "${fileDirname}\\Out\\release","shell": {"executable": "PowerShell"}},"dependsOn":[],},{"label": "QtBuild",   //launch的QtBuild的前置程序"dependsOrder": "sequence", //依赖task的运行顺序是顺序执行的(另外一个选项是并行)"dependsOn":["createOut", //创建out目录"ProBuild",  //编译Pro文件"makeFile",  //make命令"deployDll"  //部署依赖的库],}]
      }
      

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/498564.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[2025] 如何在 Windows 计算机上轻松越狱 IOS 设备

笔记 1. 首次启动越狱工具时,会提示您安装驱动程序。单击“是”确认安装,然后再次运行越狱工具。 2. 对于Apple 6s-7P和iPad系列(iOS14.4及以上),您应该点击“Optinos”并勾选“允许未经测试的iOS/iPadOS/tvOS版本”&…

ARM64 Windows 10 IoT工控主板运行x86程序效率测试

ARM上的 Windows 10 IoT 企业版支持仿真 x86 应用程序,而 ARM上的 Windows 11 IoT 企业版则支持仿真 x86 和 x64 应用程序。英创推出的名片尺寸ARM64工控主板ESM8400,可预装正版Windows 10 IoT企业版操作系统,x86程序可无需修改而直接在ESM84…

万里数据库GreatSQL监控解析

GreatSQL是MySQL的一个分支,专注于提升MGR(MySQL Group Replication)的可靠性及性能。乐维监控平台可以有效地监控GreatSQL,帮助用户及时发现并解决潜在的性能问题。 通过在GreatSQL服务器上安装监控代理,收集数据库性…

【贪心算法】贪心算法七

贪心算法七 1.整数替换2.俄罗斯套娃信封问题3.可被三整除的最大和4.距离相等的条形码5.重构字符串 点赞👍👍收藏🌟🌟关注💖💖 你的支持是对我最大的鼓励,我们一起努力吧!😃&#x1f…

四年匠心磨砺,快手系统软件技术创新与领域演进之路

一、系统软件技术的核心价值与面临挑战 系统软件作为软件架构的基石,扮演着连接软件与硬件的桥梁角色,位于整个软件生态的最底层,处于关键核心的位置。系统软件最为显著的特征在于其规模效应,随着服务器体量的增加,系…

使用JMeter对Linux生产服务器进行压力测试

安装 JMeter wget https://downloads.apache.org/jmeter/binaries/apache-jmeter-5.4.1.tgz tar -xzf apache-jmeter-5.4.1.tgz cd apache-jmeter-5.4.1创建 JMeter 脚本 设置中文 选择Options—>Choose Language—>选择其他语言(例如:Chinese&am…

Nginx1.20.2-Linux-安装

文章目录 1.下载压缩包1.官网下载2.找到1.20.23.百度网盘 2.Linux安装1.搭建gcc环境2.上传到 /usr/local/nginx1.20.23.解压1.解压到当前目录2.删除压缩包 4.配置Nginx的编译路径1.进入nginx-1.20.22.执行内部的脚本,指定编译路径为/usr/local/nginx 5.编译并安装6.…

常用的linux命令介绍

Linux是一个强大的操作系统,它提供了许多命令行工具来帮助用户管理文件和目录、监控系统性能、以及执行各种系统管理任务。下面是一些常用的Linux命令,我会用简单的语言来解释它们的作用: 1. ls • 作用:列出目录内容。 • 比喻&a…

linux--编译驱动模块【虚拟网卡 tun】

linux--编译驱动模块【虚拟网卡 tun】 1 介绍2 操作2.1 源码 linux-5.10.1602.2 安装控制台应用程序依赖库,其他库2.3 普通用户模式操作2.4 然后配置需要编译的模块2.5 关闭 preempt2.6 开启 bpf【未成功,放弃】2.7 编译模块报错处理一:缺少证…

前端超大缓存IndexDB、入门及实际使用

文章目录 往期回顾项目实战初始化表获取列表新增表的数据项获取详情根据ID获取详情根据其他字段获取详情 删除数据 总结 往期回顾 在之前的文章中,我们介绍了IndexDB vs Cookies vs Session这几个的对比,但是没有做实际项目的演示,今天我们用…

swiftui开发页面加载发送请求初始化@State变量

在SwiftUI中,你不能直接在init中更新State变量,因为State是由SwiftUI框架管理的,初始化时不允许直接修改。所以需要在onAppear发送请求然后修改State状态。 在SwiftUI中,如果希望在页面加载时立即发送网络请求,可以使…

OpenStack系列第四篇:云平台基础功能与操作(Dashboard)

文章目录 1. 镜像(Image)添加镜像查看镜像删除镜像 2. 卷(Volume)创建卷查看卷删除卷 3. 网络(虚拟网络)创建网络查看网络删除网络 4. 实例类型创建实例类型查看实例类型删除实例类型 4. 密钥对&#xff08…

3D数学基础2

矩阵的行列式 在任意方阵中都存在至少一个标量,称作该方阵的行列式。在线性代数中,行列式有很多有用的性质 线性运算法则 方阵 M M M的行列式记作 ∣ M ∣ |M| ∣M∣或“det M”。非方阵矩阵的行列式是未定义的。 注意,在书写行列式时&…

elementui的默认样式修改

今天用element ui ,做了个消息提示,发现提示的位置总是在上面,如图: 可是我想让提示的位置到下面来,该怎么办? 最后还是看了官方的api 原来有个自定义样式属性 customClass 设置下就好了 js代码 css代码…

WebRTC:实现浏览器与移动应用的实时通信

1.技术简介 (Web Real-Time)是一种开放式实时通信技术,旨在使浏览器和移动应用程序通过简单的API即可实现实时音频、视频和数据传输,而无需安装插件或额外软件。它支持网络应用中的点对点通信,例如视频聊天、语音通话…

NVR小程序接入平台EasyNVR使用FFmpeg取流时提示错误是什么原因呢?

在视频监控系统中,FFmpeg常用于从各种源(如摄像头、文件、网络流等)获取流媒体数据,这个过程通常称为“取流”。 在EasyNVR平台中,使用FFmpeg取流是一种常见的操作。FFmpeg作为一款强大的开源多媒体处理工具&#xff…

NXP i.MX8系列平台开发讲解 - 5.4 调试篇 - 掌握perf 工具调试(一)

专栏文章目录传送门:返回专栏目录 Hi, 我是你们的老朋友,主要专注于嵌入式软件开发,有兴趣不要忘记点击关注【码思途远】 文章目录 目录 掌握perf 工具调试(一) 1. Perf 工具介绍 1.1 Perf 工作原理 1.2 Perf 工具基本功能 2. Perf 安…

实际部署Dify可能遇到的问题:忘记密码、开启HTTPS、知识库文档上传的大小限制和数量限制

背景 前面我们以 docker compose 容器化的方式本地部署了 Dify 社区版,并快速体验了其聊天助手、工作量编排以及智能体(Agent)功能。不过后续实际生产环境使用时遇到了忘记密码、如何开启SSL以支持HTTPS、如何突破知识库文档上传的大小限制和…

Python 青铜宝剑十六维,破医疗数智化难关(上)

一、医疗数智化困境剖析 在当今数智化浪潮的席卷下,医疗行业正经历着深刻变革,医疗数智化转型已成为不可阻挡的趋势。它将现代信息技术深度融入医疗的各个环节,从电子病历的广泛普及,实现医疗信息的便捷存储与快速查阅&#xff0…

Kafka 性能提升秘籍:涵盖配置、迁移与深度巡检的综合方案

文章目录 1.1.网络和io操作线程配置优化1.2.log数据文件刷盘策略1.3.日志保留策略配置1.4.replica复制配置1.5.配置jmx服务1.6.系统I/O参数优化1.6.1.网络性能优化1.6.2.常见痛点以及优化方案1.6.4.优化参数 1.7.版本升级1.8.数据迁移1.8.1.同集群broker之间迁移1.8.2.跨集群迁…