VS Code上,QT基于cmake,qmake的构建方法(非常详细)

VS Code上,QT基于cmake,qmake的构建方法

  • 1 前言
  • 2 QT基于cmake的构建方法
    • 2.1 VS Code关键插件安装
    • 2.2 系统环境变量配置
    • 2.3 VS Code中,环境变量配置
    • 2.4 Cmake新建一个新的Porject
  • 3 QT基于qmake的构建方法

1 前言

最近,由于认证了github的学生用户,想在VS Code上,将各类语言开发环境统一起来。而在VS Code上进行QT开发,在找了一圈CSDN上的博客后,感觉并不全面,跟着尝试还是会出各种各样的问题,因此,在走通cmake/qmake的QT环境配置后,这里予以记录,便于自己日后查询,也给大家一些参考,能够尽量减小消耗这种配置环境的无用功时间。
首先,关于软件的安装,主要包括VS Code以及QT,感觉能够有需求通过VS Code进行QT开发,这两个软件的安装一定是没有任何问题的,因此,这里不再赘述安装过程了,直接进入正题——VS Code上,QT基于cmake,qmake的构建方法。

2 QT基于cmake的构建方法

2.1 VS Code关键插件安装

在正式配置环境之前,在VS Code上,需要提前完成几个关键插件的安装,它们分别是
(1) CMake,CMake Tools: 一个跨平台的安装(编译)工具,可以用简单的语句来描述所有平台的安装(编译过程)。
Cmake
(2) Qt tools,QT Configure: VS Code中实现QT开发的主要工具,并直接提供开发过程的关键指令。包括QtConfigure : New Project等,后续会详细介绍。

2.2 系统环境变量配置

事实上,环境变量配置不正确,是运行过程出现问题的主要原因,其中,环境变量的顺序,也对环境能否配置成功起决定作用,因此,有时候出现问题,可以调整环境变量,再重新试一下。注意,我这边后续将采用MSVC2019_64进行开发,因此,若是采用别的编译器开发,请结合自己的具体情况合理设置。 我的环境变量配置结果如下:
在这里插入图片描述

2.3 VS Code中,环境变量配置

在完成系统环境变量配置后,还需在VS Code中,完成环境变量的配置,主要包括设置Cmake Tools、Mingw、QT、QT Kit以及Vcvarsall等的安装路径。这里,给出我的设置结果,具体如下图所示(同上,此处基于MSVC2019_64进行设置,可结合自己的编译器版本,合理调整):
在这里插入图片描述另外,Cmake Tools的路径设置如下:
在这里插入图片描述注意,这里设置的Cmake Tools为QT路径下的Cmake。另外,QT的环境变量,也可以直接在UI界面上设计,具体如下图所示:
在这里插入图片描述当完成到这一步,恭喜你,已经完成了cmake配置QT的环境配置全过程,接下来,就是新建具体的project了。

2.4 Cmake新建一个新的Porject

这里直接上图,演示新建过程:
(1) 快捷键CTRL+SHIFT+P,快速启动命令窗口:
在这里插入图片描述
(2)点击QtConfigure:New Project,新建QT项目,项目名称为”test“:
在这里插入图片描述
(3)选择QT套件,这里我选择MSVC_2019:
在这里插入图片描述
(4)这里选择CMake工具:
在这里插入图片描述
(5)是否需要生成.ui文件,这里选择Yes:
在这里插入图片描述
完成至这一步后,生成完整工程如下图所示:
在这里插入图片描述(6) CMake:Configure配置环境
在这里插入图片描述
这里,按照自己的Kit版本,选择对应的编译器与环境,如下图所示。这里,我选择的编译器及其环境为2019 Release - x86_amd64:
在这里插入图片描述
然后,在输出中将看到CMake过程的日志信息(蓝框),完成后,在项目目录文件中,将会生成build文件夹(红框),并在文件下,生成一些关键文件,如下图所示:
在这里插入图片描述至此完成整个项目的环境配置与项目建立,按快捷键F5,即可编译项目,并生成界面结果,如如下图所示,至此,完成在VS Code中,Cmake新建一个新的Porject项目的全过程。
在这里插入图片描述

3 QT基于qmake的构建方法

事实上,基于cmake的qt构建过程,相对来讲还是比较简单的,因为cmake毕竟还是属于VS Code进行QT开发的主流方式。但是,因为我之前很多项目还是基于qmake开发的,因此,也同样对qmake构建QT的过程进行了探索,也供有需要的人参考。关于环境配置问题,与前述完全一致,在项目建立过程中,选择qmake即可。项目建立完成后,如下图所示。
在这里插入图片描述可以看到,qmake建立的项目文件,要比cmake建立的项目文件更加多一些,主要多了c_cpp_properties.json与tasks.json,以及scripts路径下的build_debug.bat与build_release.bat,这里请注意,这四个文件非常关键,后续如果想要将自己已经基于qmake建立起来的 QT项目迁移到VS Code上进行开发,上述这几个文件都是必不可少的,同时,需要将上述文件中对应的一些文件名字进行修改。 这里我们同样通过快捷键F5编译运行项目,但出现报错如下图所示:

Unable to find dependent libraries of C:\ProgramData\Anaconda3\Library\bin\Qt5Widgetsd.dll :Cannot open 'C:/ProgramData/Anaconda3/Library/bin/Qt5Widgetsd.dll':

分析报错原因可以发现,是因为项目去Anaconda3下寻找对应动态库了,在没有找到后,自然就报错了。这里,我首先通过调整环境变量,将Anaconda3的环境变量下调至QT之下,但是仍没有解决问题,考虑可能因为其他环境变量影响的,因此,更快捷的方式是,直接将该路径下的Anaconda3改名Anaconda31即可,再运行程序,成功!
在这里插入图片描述至此,即完成了VS Code上,QT基于Cmake,Qmake的环境配置与项目建立全过程,接下来,就可以酷酷地在VS Code上,开始QT的开发工作啦!!!

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

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

相关文章

力扣111---二叉树的最小深度(简单题,Java,递归+非递归)

目录 题目描述: (递归)代码: (非递归、层次遍历)代码: 题目描述: 给定一个二叉树,找出其最小深度。 最小深度是从根节点到最近叶子节点的最短路径上的节点数量。 说…

【echarts中解决适配窗口大小的问题】

适配窗口大小 一、基础适配方案:remflexible.js布局二、echart图表适配1.resize函数2.使用resize的前提!重点!不然resize极有可能失效 一、基础适配方案:remflexible.js布局 vscode插件:cssrem 编写好的less文件保存后…

数据结构 第3章:栈与队列

文章目录 1. 栈1.1 栈的基本概念1.2 栈的基本操作1.3 栈的顺序存储实现1.4 栈的链式存储实现 2. 队列2.1 队列的基本概念2.2 队列的基本操作2.3. 队列的顺序存储实现2.4 队列的链式存储实现2.5 双端队列 3. 栈与队列的应用3.1 栈在括号匹配中的应用3.2 栈在表达式求值中的应用3…

YOLOv7_pose-Openvino和ONNXRuntime推理【CPU】

纯检测系列: YOLOv5-Openvino和ONNXRuntime推理【CPU】 YOLOv6-Openvino和ONNXRuntime推理【CPU】 YOLOv8-Openvino和ONNXRuntime推理【CPU】 YOLOv7-Openvino和ONNXRuntime推理【CPU】 YOLOv9-Openvino和ONNXRuntime推理【CPU】 跟踪系列: YOLOv5/6/7-O…

【Linux】从零开始认识进程 — 前篇

我从来不相信什么懒洋洋的自由。我向往的自由是通过勤奋和努力实现的更广阔的人生。。——山本耀司 从零开始认识进程 1 认识冯诺依曼体系2 操作系统3 进程3.1 什么是进程???3.2 进程管理PCB 3.3 Linux中的进程深入理解 3.4 进程创建总结 送给…

SpringBoot实战项目——博客笔记项目

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、项目介绍二、项目的整体框架 2.1 数据库模块 2.2 前端模块 2.3 后端模块三、项目图片展示四、项目的实现 4.1 准备工作 4.…

Transformer代码从零解读【Pytorch官方版本】

文章目录 1、Transformer大致有3大应用2、Transformer的整体结构图3、如何处理batch-size句子长度不一致问题4、MultiHeadAttention(多头注意力机制)5、前馈神经网络6、Encoder中的输入masked7、完整代码补充知识: 1、Transformer大致有3大应…

AcWing 848. 有向图的拓扑序列

#include<iostream> #include<cmath> #include<queue> #include<cstring> #include<cstdlib> #include<algorithm> using namespace std; const int N1e510; int n,m,a,b; int e[N],ne[N],h[N],idx; int d[N],top[N],cnt1;//top是拓扑排序…

香港理工大学主办!2024年第八届电力能源系统与应用国际会议(ICoPESA 2024)即将召开!

2024年第八届电力能源系统与应用国际会议&#xff08;ICoPESA 2024&#xff09; 2024年6月24日-26日 中国香港 ICoPESA 2024-Hong Kong (icpesa.org)https://icpesa.org/index.html 会议组织单位 会议出版及检索&#xff1a; 会议录用并注册的论文将由IEEE出版&#xff0c;…

SQL Server错误:15404

执行维护计划失败&#xff0c;提示SQL Server Error 15404 无法获取有关... 异常如下图&#xff1a; 原因&#xff1a;数据库用户名与计算机名称不一致 解决办法&#xff1a;1.重名称数据库用户名 将前缀改成计算机名 2.重启SQL Server代理

Mybatis sql 控制台格式化

package com.mysql; import org.apache.commons.lang.StringUtils; import org.apache.ibatis.logging.Log;import java.util.*;/*** Description: sql 格式化* Author: DingQiMing* Date: 2023-07-17* Version: V1.0*/ public class StdOutImpl implements Log {private stati…

【消息队列开发】 测试MessageFileManager(对硬盘中的消息操作)类

文章目录 &#x1f343;前言&#x1f384;测试流程&#x1f334;准备工作&#x1f332;测试创建队列功能&#x1f333;测试统计文件的读写&#x1f38b;测试将相应消息放入文件中&#x1f38d;测试读文件里的消息到内存&#x1f340;测试删除消息&#x1f60e;测试垃圾回收⭕总…

【设计模式】一、设计模式概述

文章目录 一、设计模式概述&#xff08;一&#xff09;设计模式是什么1. 设计模式的定义2. 设计模式的组成要素3、常用设计模式一览表 &#xff08;二&#xff09;设计模式的优点&#xff08;用途&#xff09;※ 本文小结 一、设计模式概述 &#xff08;一&#xff09;设计模式…

复杂网络——半局部中心法

一、概述 由于最近写论文需要使用复杂网络知识中的半局部中心法&#xff0c;但是截止目前来说&#xff0c;网上几乎搜索不到有关的MATLAB程序代码&#xff0c;只有一篇用Python编写的程序&#xff0c;我的电脑中没有python&#xff0c;所以我花费一些时间&#xff0c;利用matla…

基于SpringBoot+Vue交流和分享平台的设计与实现(源码+部署说明+演示视频+源码介绍)

您好&#xff0c;我是码农飞哥&#xff08;wei158556&#xff09;&#xff0c;感谢您阅读本文&#xff0c;欢迎一键三连哦。&#x1f4aa;&#x1f3fb; 1. Python基础专栏&#xff0c;基础知识一网打尽&#xff0c;9.9元买不了吃亏&#xff0c;买不了上当。 Python从入门到精通…

Day44-sersync企业实时复制实战

Day44-sersync企业实时复制实战 1. sersync实时复制工具介绍1.1 sersync工具简介1.2 sersync特点1.3 sersync图解原理1.4 sersyncrsync实时复制方案项目实践1.4.1 图解项目方案架构及实现原理1.4.2 确保远程数据传输服务部署完成1.4.3 检查当前系统nfs01是否支持inotify实时监控…

008:安装Docker

安装Docker 如果不太熟悉Linux命令&#xff0c;不想学习Linux命令&#xff0c;可以直接看文末NAS面板章节&#xff0c;通过面板&#xff0c;像使用Window一样操作NAS。 一、安装 Docker 1.安装 Docker wget -qO- https://get.docker.com/ | sh2.启动 Docker 服务 sudo sys…

qt vs 编程 字符编码 程序从源码到编译到显示过程中存在的字符编码及隐藏的字符编码转换

理解字符编码&#xff0c;请参考&#xff1a;unicode ucs2 utf16 utf8 ansi GBK GB2312 CSDN博客 了解windows字符显示必须了解locale概念 参考&#xff1a;揭密 Windows 上的各种 locale - 知乎 汉字&#xff08;或者说多字节字符&#xff09;的存放需求&#xff0c;是计算…

K8S CNI

OCI概念 OCI&#xff0c;Open Container Initiative&#xff0c;开放容器标准&#xff0c;是一个轻量级&#xff0c;开放的治理结构&#xff08;项目&#xff09;&#xff0c;在 Linux 基金会的支持下成立&#xff0c;致力于围绕容器格式和运行时创建开放的行业标准。 OCI 项目…

AI智慧校园电子班牌云平台源码

目录 家长端 学校端 电子围栏 亲情通话 课堂答题 移动化管理模式 统一资源管理平台 模板内容智能更换 家校互联 家长端 多场景通话:上学放学联系、紧急遇险求助联系、日常亲情通话关注孩子人身安全:到校离校情况、进入危险区域预警等。 学校端 课堂秩序管理:提高教…