本机的qt creator打开很慢. 于是尝试用 vscode+qmake进行qt5的开发.
1. qt环境配置
将 QT\5.15.2\mingw81_64\bin
(qmake路径) 和 QT\Tools\mingw810_64\bin
(对应的mingw路径)放入系统环境变量中.
命令行执行 qmake -v
能显示版本则表明qmake已加入了系统环境变量当中,
同理, 执行 gcc -v
能显示正确版本, 表明mingw已加入.
2. vscode include配置
安装vscode c++扩展.
参考帖子:
主要参考了这篇帖子
可以吸收下这篇的思想
vscode 官方配置c++的教程
配置对应的 c_cpp_properties.json
,launch.json
,tasks.json
以下为v0.1版本的模板.目前主要为debug的配置.
TODO: 区分release和debug版本的构建
2.1 c_cpp_properties.json
{
"configurations": [
{
"name": "mingw64",
"includePath": [
"[改]QT的include路径,如 D:/QT/5.15.2/mingw81_64/include/**",
"${workspaceRoot}/**"
],
"browse": {
"path": [
"[改]同上,如 D:/QT/5.15.2/mingw81_64/include/**",
"${workspaceRoot}/**"
]
},
"compilerPath": "[改]你的g++路径 D:\\QT\\Tools\\mingw810_64\\bin\\g++.exe",
"cStandard": "c11",
"cppStandard": "c++17"
}
],
"version": 4
}
2.2 launch.json
{
"version": "0.2.0",
"configurations": [
{
"name": "gdb",
"type": "cppdbg",
"request": "launch",
"program": "${fileDirname}\\build\\debug\\${workspaceFolderBasename}.exe",//程序可执行文件的完整路径。
"args": [],
"stopAtEntry": false,
"cwd": "${fileDirname}",
"environment": [],
"externalConsole": false,
"MIMode": "gdb",
//"miDebuggerPath": "D:\\Qt\\Qt5.15.2\\Tools\\mingw810_64\\bin\\gdb.exe",
"setupCommands": [
{
"description": "为 gdb 启用整齐打印",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
],
// 调试之前先编译一下,即对应tasks.json任务中的make
"preLaunchTask": "make"//与tasks.json文件里的label名对应
}
]
}
2.3 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"
}
3. 试运行
配置好章节2的内容之后.
别忘了工程目录中新建一个build文件夹用于放编译中的过程文件.
按下图分别执行qmake, make/run 即可构建编译工程.
3.1 make无法执行
在\Tools\mingw810_64\bin
目录中,把里面的mingw32-make.exe改成make.exe
若你是自己单独安装的mingw,在对应目录中修改好即可