配置VsCode的QT工程
配置VsCode的QT工程
VsCode + qmake
环境(Environment):
Windows11
Qt5.12.11+ MinGW64 编译套件
VsCode (version = 1.78.2)
一、命令行编译运行QT程序
在使用VsCode配置QT程序之前,我们应该需要知道如何通过命令行来编译以及运行QT工程。
下面是我个人常用的方式,可以参考:
1. 使用QtCreator创建一个qmake工程。

2. 使用qmake命令生成Makefile文件
打开工程目录 (.pro所以位置)
在工程目录下进入终端(当然也可以先打开终端,然后cd 到你的工程下)
创建一个build文件夹,这样可以避免编译生成的文件散落在工程目录下
进入到build文件夹
执行
qmake ../XXX.pro(因为.pro文件是在build文件夹的上一层)执行
mingw32-make -j16 debug进入build下的debug文件夹,此时可以看到生成了xxxx.exe可执行文件
双击 xxx.exe 运行,自此结束。
可能遇到的错误:PS D:\Desktop> qmake ../Demo.pro
qmake : 无法将“qmake”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名
称的拼写,如果包括路径,请确保路径正确,然后再试一次。
如果你遇到了上面情况,请注意检查是否添加下面两条环境变量
qmake.exe 所在的bin目录
mingw32-make.exe 所在的bin目录

二、配置VsCode+QT
1.安装VsCode插件
确保你的VsCode程序中安装有C\C++ Extension Pack插件,如下图

2.使用VsCode打开你的QT工程
演示如下

打开之后,点开main.cpp,此时应该会看到,头文件的部分报错。请看下面第2点解决。
2.添加包含的头文件路径,即include文件夹所在位置
如果指定头文件的路径,VsCode就不知道你的代码里面的头文件是在哪里,导致代码报红
这是我QT的mingw64编译套件对应的头文件路径 D:\\Qt\\Qt5.12.11\\5.12.11\\mingw73_64\\include\\**
请根据自己的来修改。
记得把路径的
\更换成\\或者用/表示记得在include后面加上两个*,表示遍历这个目录下的所有头文件(不知道的话,照着做就行了)
演示如下:

3.配置launch.json和tasks.json
在
.vscode文件夹下创建tasks.json(如果没有这个目录就自己建一个)将下面内容粘贴到tasks.json文件里
{
"tasks": [ // 任务:qmake 根据.pro文件生成 Makefile,通常是.pro文件改动后才需要执行
// 这个任务的执行等效命令行 >> cd build
// >> qmake ../Demo.pro
{
"type": "shell",
"label": "qmake",
"options": { // cwd的意思是执行这个命令的时候,所在的目录
// 这里我们指定为工程目录下的build文件夹,这样的话
// 当执行qmake的时候,产生的中间文件就在build文件夹下面了
"cwd": "${workspaceFolder}\\build"
},
"command": "qmake", //command 命令,这个不用说了
"args": [
// qmake后面跟的参数,因为上面cwd配置为build目录,
// 所以.pro文件应该在build的上一级,所以使用../*.pro
"../*.pro"
],
}, // 任务:编译 每次修改代码后都需要执行
// 任务等效命令行 >>make -j16 debug
{
"label": "make",
"options": {
"cwd": "${workspaceFolder}\\build"
},
"group": {
"kind": "build",
"isDefault": true
},
"command": "make",
"args": [
"-j16",
"debug"
],
"dependsOn": [
//"qmake"
]
}, // 任务:清理 等效命令行 make clean
{
"label": "clean",
"options": {
"cwd": "${workspaceFolder}\\build"
},
"command": "make",
"args": [
"clean"
]
}, // 运行程序
{
"label": "run",
"options": {
"cwd": "${workspaceFolder}\\build\\debug"
},
"command": "${workspaceFolderBasename}.exe",
"args": [
""
],
"dependsOn": [
"make"
]
}
],
"version": "2.0.0"
}
配置tasks.json演示如下:

在.vscode文件夹下新建launch.json 并且粘贴下面内容
{
"version": "0.2.0",
"configurations": [
{
"name": "gdb",
"type": "cppdbg",
"request": "launch",
"program": "${fileDirname}\\build\\debug\\Demo",//程序可执行文件的完整路径。
"args": [],
"stopAtEntry": false,
"cwd": "${fileDirname}",
"environment": [],
"externalConsole": false,
"MIMode": "gdb",
//"miDebuggerPath": "D:\\Qt\\Qt5.12.11\\Tools\\mingw730_64\\bin\\gdb.exe",
"setupCommands": [
{
"description": "为 gdb 启用整齐打印",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
],
// 调试之前先编译一下,即对应tasks.json任务中的make
"preLaunchTask": "make"//与tasks.json文件里的label名对应
}
]
}
配置launch.json演示如下:

三、运行与调试
1.运行程序
点击VsCode顶部菜单栏的终端>>运行任务>>qmake
同样点击顶部菜单栏的终端>>运行任务>>make
终端>>运行任务>>run
演示如下:

2.调试程序
配置VsCode的QT工程的更多相关文章
- [转]QT4.8.5+qt-vs-addin-1.1.11+VS2010安装配置和QT工程的新建和加载
1.下载windows下的QT库 QT4.8.5 for vs2010: http://download.qt-project.org/official_releases/qt/4.8/4.8.5/q ...
- QT4.8.5+qt-vs-addin-1.1.11+VS2010安装配置和QT工程的新建和加载
1.下载windows下的QT库 QT4.8.5 for vs2010: http://download.qt-project.org/official_releases/qt/4.8/4.8.5/q ...
- 使用 VSCode 给STM32配置一个串口 printf 工程
使用 VSCode 给STM32配置一个串口 printf 工程 gcc 重定向 printf 和 keil 不一样. 文件准备 先从以前的工程中拷过一份串口的代码来,然后在 main 函数中初始化串 ...
- Qt工程打包发布
Qt版本 5.7.1 1.添加环境变量 在..\Qt5.7.0\5.7\msvc2013_64\bin(..省略了盘符,例如我的是D:\Qt\Qt5.7.0\5.7\msvc2013_64\bin) ...
- Qt 工程 pro文件
工作中,感觉pro文件的有些内容真不太懂,现系统性的学习一下.于此备录,分享共勉. 为了更好的理解,先创建一个简单的工程作为实践. [1]创建一个pro文件 1.1 新建proDemo工程.步骤如下: ...
- Qt工程文件说明
Qt工程文件说明 2017-10-16 天天快乐6... 转自 LZS2851 修改 微信 分享: 这篇文章是我从360doc上转的,本来是要把转的url列出来的,但是它们居然禁掉了复制,而且 ...
- Linux下使用VsCode进行Qt开发环境搭建
最近在Linux上搞Qt, vim环境还用不太习惯, QtCreator之前使用时莫名其妙崩溃然后丢失代码之后就被我彻底放弃了, 于是研究了一下用VsCode进行Qt开发. 首先是系统环境和下载安装包 ...
- VC6中创建Qt工程的创建
文章来源:http://blog.sina.com.cn/s/blog_64d015c10100sf1o.html 本文主要介绍怎么创建可以在VC6中编译的QT工程.本文所采用环境为VC++6.0+Q ...
- 编辑器配置 vscode / Atom / Sublime Text
vscode配置 https://code.visualstudio.com/docs/languages/cpp https://www.zhihu.com/question/30315894/an ...
- 非Qt工程使用Qt的信号槽机制
非Qt工程,使用Qt的信号槽机制,蛋疼不?反正我现在就是要做这样一件蛋疼的事. 要使用Qt的信号槽机制,下面是从Qt Assist里面关于 signal & slots 的一句介绍: All ...
随机推荐
- Java面试——缓存
一.什么是缓存 [1]缓存就是数据交换的缓冲区(称作:Cache),当某一硬件要读取数据时,会首先从缓存中查询数据,有则直接执行,不存在时从磁盘中获取.由于缓存的数据比磁盘快的多,所以缓存的作用就是帮 ...
- LeetCode刷题笔记 - 2022
这篇博客集中整理在LeetCode的刷题记录,方便查阅 258. 各位相加 - 力扣(LeetCode) (leetcode-cn.com) 代码 class Solution { public: i ...
- VBA GET POST HTTP VBA网络爬虫 最新Excel自动获取股票信息源码 EXCEL自动获取网络数据 最新VBA自动抓取股票数据源码
最新Excel自动获取股票信息源码 EXCEL自动获取网络数据 最新VBA自动抓取股票数据源码 通过接口获取股票数据内容的主要优点包括以下几点: 实时性高:通过访问股票数据接口,可以实时获取到股票的实 ...
- 鼎捷ERP二次开发教程 Tiptop GP开发资料大全 Tipto开发实战经验 鼎捷开发实战例子 Tiptop GP二次开发项目例子 4GL开发Demo 鼎捷二次开发完整例子 鼎捷ERP二次开发入门
本人在ERP实施公司做顾问四五年,参与企业实施ERP十多个项目,非常熟悉企业ERP流程,在实施过程遇到众多问题,提出了不少根据企业具体情况的解决方案. 曾经参与鼎捷Tiptop GP实施十多个项目,具 ...
- GET 和 POST 到底有什么区别?
HTTP最早被用来做浏览器与服务器之间交互HTML和表单的通讯协议:后来又被被广泛的扩充到接口格式的定义上.所以在讨论GET和POST区别的时候,需要现确定下到底是浏览器使用的GET/POST还是用H ...
- [设计模式/网络/WebServer/Nginx]设计模式之代理模式(网络代理 : 正向代理与反向代理)【7】
1 代理模式 1.1 模式定义 代理模式(Proxy Pattern):为其他对象提供一种代理服务以对这个被代理的对象进行控制访问.[ 设计模式.面向对象程序设计思想的鼻祖----GoF] Subje ...
- IIC总线协议—读写EEPROM
IIC总线协议-读写EEPROM 1.I2C简介 I2C 通讯协议(Inter-Integrated Circuit)是由Phiilps公司开发的,由于它引脚少,硬件实现简单,可扩展性强,不需要USA ...
- 【机器学习入门与实践】数据挖掘-二手车价格交易预测(含EDA探索、特征工程、特征优化、模型融合等)
[机器学习入门与实践]数据挖掘-二手车价格交易预测(含EDA探索.特征工程.特征优化.模型融合等) note:项目链接以及码源见文末 1.赛题简介 了解赛题 赛题概况 数据概况 预测指标 分析赛题 数 ...
- defineProperty在数据劫持后是如何通知数据的更新和视图的更新的
vue的双向绑定是由数据劫持结合发布者-订阅者模式实现的,那么什么是数据劫持?vue是如何进行数据劫持的?说白了就是通过Object.defineProperty()来劫持对象属性的setter和ge ...
- RDIFramework.NET开发框架在线表单设计助力可视化快速开发
1.概述 RDIFramework.NET在线表单是易于使用的在线表单设计组件,为快速开发企业应用,流程应用等快速在线设计表单和收集数据提供支持.例如可设计一些订单信息表.客户信息表等,是所见即所得的 ...
