问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

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

  • 创建build目录:使用mkdir命令创建构建目录
  • qmake命令:将.pro文件编译成makefile
  • make命令:编译生成可执行文件
  • clean命令:清理构建目录
{
    "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"]
        }
    ]
}

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:生成Debug版本并运行
  • run-release:生成Release版本并运行
  • debug断点调试:使用GDB进行断点调试
© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号