123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123 |
- {
- // See https://go.microsoft.com/fwlink/?LinkId=733558
- // for the documentation about the tasks.json format
- "version": "2.0.0",
- "tasks": [
- {
- //在当前项目目录创建build文件夹
- "label": "mkdir", //任务名称
- "type": "shell", //任务类型,定义任务是被作为进程运行还是在 shell 中作为命令运行。
- "options": {
- "cwd": "${workspaceFolder}" //已执行程序或脚本的当前工作目录,设置当前项目文件夹
- },
- "command": "mkdir", //命令
- "args": [ //命令后面跟的参数
- "-Force",
- "build"
- ]
- },
- {
- "label": "qmake-debug",
- "type": "shell",
- "options": {
- "cwd": "${workspaceFolder}/build" //进入build目录
- },
- "command": "qmake", //qmake命令,这里没用完整路径,是因为配置到环境变量了 C:/Qt/5.15.2/mingw81_64/bin/qmake.exe
- "args": [ //跟的参数是不是很熟悉,就是上面分析出来的Qt Creator执行流程
- "../${workspaceFolderBasename}.pro", //在build目录上一级哦
- "-spec",
- "win32-g++",
- "\"CONFIG+=debug\"",
- "\"CONFIG+=console\""
- ],
- "dependsOn": [ //这是本条命令依赖的前置条件,就是上面创建build文件夹的task,直接执行本task会自动先调用依赖的task
- "mkdir" //其实可以手动执行一次,后面不用每次都执行创建目录的操作
- ]
- },
- {
- "label": "make-debug",
- "type": "shell",
- "options": {
- "cwd": "${workspaceFolder}/build"
- },
- "command": "mingw32-make", //MinGW这个也配置在环境变量了,不用写完整路径了 C:/Qt/Tools/mingw810_64/bin/mingw32-make.exe
- "args": [
- "-f",
- "Makefile.Debug", //-f 选择makefile,这是qmake编译出来的
- "-j7" //这个参数都知道吧,编译用的线程数量
- ],
- "dependsOn": [
- "qmake-debug"
- ]
- },
- {
- "label": "run-debug",
- "type": "process", //运行就不能选择shell执行了,要选择process
- "options": {
- "cwd": "${workspaceFolder}/build/debug" //没在.pro配置DESTDIR,会生成到build目录下面对应目录
- },
- //"command": "${workspaceFolderBasename}.exe", //执行的exe名字,一般当前项目文件夹的名称,自定义可以写其他的
- "command": "${workspaceFolder}/build/debug/${workspaceFolderBasename}.exe",
- "dependsOn": [
- "make-debug"
- ]
- },
-
- {
- "label": "qmake-release",
- "type": "shell",
- "options": {
- "cwd": "${workspaceFolder}/build"
- },
- "command": "qmake",
- "args": [ //注意release跟debug参数的差异
- "../${workspaceFolderBasename}.pro",
- "-spec",
- "win32-g++",
- "\"CONFIG+=qtquickcompiler\""
- ],
- "dependsOn": [
- // "mkdir" //不用每次都创建吧
- ]
- },
- {
- "label": "make-release",
- "type": "shell",
- "options": {
- "cwd": "${workspaceFolder}/build"
- },
- "command": "mingw32-make",
- "args": [
- "-f",
- "Makefile.Release", //注意release跟debug参数的差异
- "-j7"
- ],
- "dependsOn": [
- "qmake-release"
- ]
- },
- {
- "label": "run-release",
- "type": "process",
- "options": {
- "cwd": "${workspaceFolder}/build/release"
- },
- // "command": "${workspaceFolderBasename}.exe",
- "command": "${workspaceFolder}/build/release/${workspaceFolderBasename}.exe",
- "dependsOn": [
- "make-release"
- ]
- },
- {
- "label": "clean",
- "type": "shell",
- "options": {
- "cwd": "${workspaceFolder}/build"
- },
- "command": "mingw32-make",
- "args": [
- "clean"
- ]
- }
- ]
- }
|