VSCode + Qt + QMake 开发编译环境搭建
创作时间:
作者:
@小白创作中心
VSCode + Qt + QMake 开发编译环境搭建
引用
1
来源
1.
https://www.cnblogs.com/RioTian/p/18281114
本文将详细介绍如何在VSCode中配置Qt开发环境,使用QMake构建系统进行项目开发。文章主要针对Windows平台,但Mac和Linux用户也可以参考其核心概念进行配置。
前置准备
- VSCode:最新版本即可
- 本地Qt环境:版本随意,本文主要针对较老版本使用Qmake构建系统的项目
环境变量
- Qt环境变量:需要配置Qt库和MinGW,建议使用Qt安装时自带的MinGW
VSCode插件
- C/C++:必需插件
- Qt tools:辅助插件
开始配置
1. 创建项目
先用Qt Creator创建一个Qmake项目,最简单的空白窗口项目即可。
2. 使用VSCode打开项目
3. 配置C/C++插件
在VSCode中使用快捷键Ctrl+Shift+P打开命令面板,输入c++,选择编辑配置。
4. 编辑C/C++设置
- 编译器路径:选择配置环境变量的Qt版本,如果没有下拉选项,手动复制路径
- IntelliSense模式:选择安装的GCC架构,例如
windows-gcc-x64 - 头文件路径:配置当前工作目录和Qt库的头文件路径
{
"configurations": [
{
"name": "Win32",
"includePath": [
"${workspaceFolder}/**",
"D:/software/language/qt/5.15.2/mingw81_64/include/**"
],
"defines": [
"_DEBUG",
"UNICODE",
"_UNICODE"
],
"compilerPath": "D:/software/language/qt/Tools/mingw810_64/bin/g++.exe",
"intelliSenseMode": "windows-gcc-x64"
}
],
"version": 4
}
5. 配置task.json
分析Qt Creator构建步骤
- 设置构建目录:编译出来的中间文件目录
- qmake命令:将
.pro配置文件编译成makefile
# Debug
D:/software/language/qt/5.15.2/mingw81_64/bin/qmake.exe D:\Coding\temp\test_demo\test_demo.pro -spec win32-g++ "CONFIG+=debug" "CONFIG+=qml_debug" && D:/software/language/qt/Tools/mingw810_64/bin/mingw32-make.exe qmake_all
# Release
D:/software/language/qt/5.15.2/mingw81_64/bin/qmake.exe D:\Coding\temp\test_demo\test_demo.pro -spec win32-g++ "CONFIG+=qtquickcompiler" && D:/software/language/qt/Tools/mingw810_64/bin/mingw32-make.exe qmake_all
- make命令:真正的编译cpp
mingw32-make.exe -j12 in D:\Coding\temp\test_demo\build\Debug
- clean命令:清理构建目录
mingw32-make.exe clean -j12 in D:\Coding\temp\test_demo\build\Debug
配置task.json
将上述Qt Creator构建步骤转换为VSCode的task.json配置:
{
"version": "2.0.0",
"tasks": [
{
"label": "mkdir",
"type": "shell",
"options": {
"cwd": "${workspaceFolder}"
},
"command": "mkdir",
"args": ["-Force", "build"]
},
{
"label": "qmake-debug",
"type": "shell",
"options": {
"cwd": "${workspaceFolder}/build"
},
"command": "qmake",
"args": [
"../${workspaceFolderBasename}.pro",
"-spec",
"win32-g++",
"\"CONFIG+=debug\"",
"\"CONFIG+=qml_debug\""
],
"dependsOn": ["mkdir"]
},
{
"label": "make-debug",
"type": "shell",
"options": {
"cwd": "${workspaceFolder}/build"
},
"command": "mingw32-make",
"args": ["-f", "Makefile.Debug", "-j7"],
"dependsOn": ["qmake-debug"]
},
{
"label": "run-debug",
"type": "process",
"options": {
"cwd": "${workspaceFolder}/build/debug"
},
"command": "${workspaceFolderBasename}.exe",
"dependsOn": ["make-debug"]
},
{
"label": "qmake-release",
"type": "shell",
"options": {
"cwd": "${workspaceFolder}/build"
},
"command": "qmake",
"args": [
"../${workspaceFolderBasename}.pro",
"-spec",
"win32-g++",
"\"CONFIG+=qtquickcompiler\""
]
},
{
"label": "make-release",
"type": "shell",
"options": {
"cwd": "${workspaceFolder}/build"
},
"command": "mingw32-make",
"args": ["-f", "Makefile.Release", "-j7"],
"dependsOn": ["qmake-release"]
},
{
"label": "run-release",
"type": "process",
"options": {
"cwd": "${workspaceFolder}/build/release"
},
"command": "${workspaceFolderBasename}.exe",
"dependsOn": ["make-release"]
},
{
"label": "clean",
"type": "shell",
"options": {
"cwd": "${workspaceFolder}/build"
},
"command": "mingw32-make",
"args": ["clean"]
}
]
}
运行代码
有两种方式运行代码:
- 终端运行任务:选择
run-debug或run-release - 快捷键运行:使用
Ctrl+Shift+P,输入run,选择run-debug或run-release
6. 配置断点调试
选择gdb启动模板进行修改:
{
"version": "0.2.0",
"configurations": [
{
"name": "debug",
"type": "cppdbg",
"request": "launch",
"program": "${workspaceFolder}/build/Debug/${workspaceFolderBasename}.exe",
"args": [],
"stopAtEntry": false,
"cwd": "${workspaceFolder}",
"environment": [],
"externalConsole": false,
"MIMode": "gdb",
"miDebuggerPath": "D:/software/language/qt/Tools/mingw810_64/bin/gdb.exe",
"setupCommands": [
{
"description": "为 gdb 启用整齐打印",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
],
"preLaunchTask": "make-debug"
}
]
}
运行调试
- 打开调试面板,选择配置
- 设置断点,点击绿色三角形运行
run-debug及自动生成的目录结构、控制台log,使用Ctrl+C结束程序run-releasedebug断点调试
热门推荐
从石窟到金字塔:数字技术让文化遗产“活”起来
《岳阳楼记》:一篇揭示“先忧后乐”精神的传世佳作
陈泽参与抖音公益活动,助力孤独症群体融入社会
陈泽抖音直播引爆全网,揭秘背后秘密
厨房装修必看!10大注意事项助你打造理想烹饪空间
装修效果图与家居风水:巧妙布局带来好运势
厨房在哪个方位最吉利?风水专家为您解析
厨房放在哪个位置风水好
厨房的朝向风水有哪些
《江山》:2004年春晚千人合唱演绎祖国壮丽山河
2025春晚彩排:科技赋能“如意”舞台,创新打造无障碍观演
从清末电报到现代编码:中文电码的演变与价值
高校开设微专业成新趋势,上班族成课堂主力
杨勇将军:长征护驾功臣,金城战役统帅
广东阳东推进“融湾入圈”,打造绿色能源和海洋牧场基地
科技助力检察监督,青浦全面整治“生鲜灯”乱象
紫外线手电检测农残:适用表面筛查,不具定量功能
性诱测报灯:精准诱捕害虫的绿色防控新技术
紫光灯检测农残被证伪,专家:荧光反应与农药无关
紫光灯检测农残被辟谣,专家:是植物自然现象
FAP在医学里是什么意思
新发现欧阳通墨迹,重现“大小欧阳”书法风采
从《岳阳楼记》看范仲淹的家国情怀
《岳阳楼记》:一篇贬谪之作如何诠释“先忧后乐”精神
徐海东:陕北会师时资助中央红军,九大获毛主席特别关照
烟雨江湖杭州隐藏支线任务怎么做 杭州隐藏支线任务通关攻略
孕妇喝醪糟有讲究:每日别超400ml,还要注意这些
玉环特色小吃指南:鱼皮馄饨、锡饼等20种地道美食
孙悟空:民族情感的崇高想象
《黑神话:悟空》过场动画背后有何门道?玩前不妨先来这里“取经”