Post

如何将Qt配置到vscode

”将Qt配置到vscode“指的是把Qt库添加到vscode,并在vscode中使用qmakemingw32-make两个工具完成C++Qt项目的构建和编译。

首先在Windows上安装好vscodeQt

Linux和Windows类似,只不过安装完成后不需要手动添加环境变量,然后文件路径与Windows不同。

安装Qt时至少勾选Qt/MinGWDeveloper and Designer Tools/MinGW两个组件。

第一个组件包含了Qt库和qmake工具,第二个则包含了mingw32-make。

安装好后将qmake的路径C:\Qt\6.5.2\mingw_64\binmingw32-make的路径C:\Qt\Tools\mingw1120_64\bin添加到系统环境变量。

路径根据安装时的选项做修改。

添加Qt头文件路径

首先在vscode里安装C/C++扩展,接下来将对vscode中的C/C++这一extension进行设置,也就是添加Qt头文件的路径。该设置是针对项目做修改,不会应用到整个vscode。

先新建一个Qt项目。

新建完成后,在vscode中打开该项目文件夹,按下vscode快捷键Ctrl+Shift+P,输入C/C++进行搜索,选择C/C++:Edit Configurations (JSON),然后vscode会再目录下自动创建.vscode文件夹,并打开其中的c_cpp_properties.json文件,文件内容就是针对本项目的相关设置。

修改configurations/includePath的值为:

C:/Qt/6.5.2/mingw_64/include/**

不妨新建一个main.cpp文件测试一下,在main.cpp中添加

#include <QApplication>

如果没有红色波浪线报错就说明Qtl头文件添加成功了。

Qt项目的构建过程

接下来先手动构建、编译一个Qt小程序。

main.cpp

1
2
3
4
5
6
7
8
9
10
11
#include <QApplication>
#include <QPushButton>

int main(int argc, char **argv)
{
    QApplication app(argc, argv);
    QPushButton button("hello world");
    button.show();
    return app.exec();

}

这个简单程序就是一个输出hello world的按钮。

然后新建.pro项目文件。

这个文件里的都是Qt项目的信息,用qmake构建项目必须得有它。

project_name.pro

1
2
3
4
5
6
7
8
9
10
11
TEMPLATE = app
TARGET = hello-world-button

QT = core gui

greaterThan(QT_MAJOR_VERSION, 4): QT += widgets

SOURCES += \
    main.cpp \

HEADERS += \

TARGET的值就是应用的名称。如果项目中有其他源文件需要手动添加到SOURCESHEADERS下面.

接下来在命令行构建项目:

1
qmake .\project_name.pro

根据生成的Makefile编译项目:

1
mingw32-make

编译完成后release目录下就有hello-world-button.exe程序了。

添加vscode的task

不想每一次都手动到命令行编译的话可以将qmake和mingw32-make添加到vscode的task。

按下vscode的Ctrl+Shift+P快捷键,搜索task,选择Tasks: Configure Task

或者手动在.vscode目录下创建tasks.json

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
{
    "version": "2.0.0",
    "tasks": [
        {
            "label": "qmake",
            "type": "shell",
            "command": "qmake",
            "group": {
                "kind": "build",
                "isDefault": true
            }
        },
        {
            "label": "mingw32-make",
            "type": "shell",
            "command": "mingw32-make",
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "dependsOn": "qmake"
        }
    ]
}

以后构建编译项目只需按vscode的快捷键Ctrl+Shift+P,再分别执行qmake任务和mingw32-make任务就行了。

特别说明一下,如果项目文件project_name.pro未做修改的话,不需要每次都重新构建,直接编译就行。

This post is licensed under CC BY 4.0 by the author.