欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

vscode+qt+qmake開發(fā)環(huán)境搭建(最全最詳細(xì))

 更新時(shí)間:2025年04月26日 09:44:36   作者:wlkkkkkkkk  
本文主要介紹了vscode+qt+qmake開發(fā)環(huán)境搭建,文中通過圖文示例介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

00. 前言

? 鑒于Qt官方IDE太過難用,VSCode+各種插件功能強(qiáng)大,遂采用VSCode來寫Qt項(xiàng)目。

01. 環(huán)境搭建

1. 需要安裝的軟件:

  • VSCode,官方最新版就行
  • Qt,版本隨意,本文主要針對(duì)較老版本使用Qmake構(gòu)建系統(tǒng)的項(xiàng)目

2. 環(huán)境變量:

Qt環(huán)境變量,需要配置Qt庫跟MinGW,盡量使用Qt安裝時(shí)自帶的MinGW

在這里插入圖片描述

VSCode插件,下面C/C++插件是必需的沒意見吧

在這里插入圖片描述

在這里插入圖片描述

02. 開始配置

1. 創(chuàng)建項(xiàng)目項(xiàng)目

先用Qt Creator創(chuàng)建個(gè)Qmake項(xiàng)目,最簡單的空白窗口,項(xiàng)目結(jié)構(gòu)如下

在這里插入圖片描述

2. 使用VSCode打開項(xiàng)目

在這里插入圖片描述

3. 配置C/C++插件

VSCode快捷鍵ctrl+shift+p打開命令面板,輸入c++,選擇編輯配置

在這里插入圖片描述

4. 編輯C/C++設(shè)置

編譯器路徑:下拉有得選就選你配置環(huán)境變量的Qt版本,沒有就自己復(fù)制路徑過來

在這里插入圖片描述

IntelliSense 模式:選擇安裝的gcc的架構(gòu),我安裝的是64位Qt,上面自帶的gcc編譯器也是64位,就選擇windows-gcc-x64

在這里插入圖片描述

頭文件路徑:這個(gè)主要是實(shí)現(xiàn)頭文件識(shí)別,要不然Qt的頭文件一直飄紅,也沒法自動(dòng)跳轉(zhuǎn)頭文件,第一行是當(dāng)前像目錄下所有,第二行是安裝的Qt庫的頭文件路徑

在這里插入圖片描述

剩下的配置按需配置,不配置也不影響。選擇編輯json可以查看C/C++插件json版本的配置

在這里插入圖片描述

剛才配置的都在這里面了,現(xiàn)在引用Qt頭文件已經(jīng)不報(bào)錯(cuò)了 c_cpp_properties.json

{
    "configurations": [
        {
            "name": "Win32",
            "includePath": [
                "${workspaceFolder}/**",
                "C:/Qt/5.15.2/mingw81_64/include/**"
            ],
            "defines": [
                "_DEBUG",
                "UNICODE",
                "_UNICODE"
            ],
            "intelliSenseMode": "windows-gcc-x64",
            "compilerPath": "C:/Qt/Tools/mingw810_64/bin/g++.exe"
        }
    ],
    "version": 4
}

5. 配置task.json

選擇終端-運(yùn)行任務(wù)-配置任務(wù)-使用模板創(chuàng)建task.json文件-Others;這一步無所謂,就是搞個(gè)模板,用我下面貼的一樣

在這里插入圖片描述

配置編譯Qt項(xiàng)目的task,這一步其實(shí)是跟Qt Creator相同的,我們打開Qt Creator,選擇項(xiàng)目,查看剛才的項(xiàng)目的項(xiàng)目構(gòu)建配置

在這里插入圖片描述

Qt Creator構(gòu)建步驟分析如下:

設(shè)置構(gòu)建目錄,也就是編譯出來的中間文件目錄

qmake,這一步其實(shí)是用qmake.pro配置文件編譯成makefile,并且將其中涉及的.ui、.qrc等編譯成cpp,都在構(gòu)建目錄中,下面是切換Debug/Release時(shí)不同的qmake編譯命令

#Debug
C:/Qt/5.15.2/mingw81_64/bin/qmake.exe D:\Code\Other\untitled\untitled.pro -spec win32-g++ "CONFIG+=debug" "CONFIG+=qml_debug" && C:/Qt/Tools/mingw810_64/bin/mingw32-make.exe qmake_all

#Release
C:/Qt/5.15.2/mingw81_64/bin/qmake.exe D:\Code\Other\untitled\untitled.pro -spec win32-g++ "CONFIG+=qml_debug" && C:/Qt/Tools/mingw810_64/bin/mingw32-make.exe qmake_all

make,真正的編譯cpp,MinGW使用的式mingw32-make.exe

mingw32-make.exe -j22 in D:\Code\Other\untitled\build

clean,這里使用還是mingw32-make.exe

mingw32-make.exe clean -j20 in D:\Code\Other\untitled\build

將上面Qt Creator構(gòu)建步驟轉(zhuǎn)換為task.json就行了,我把debug、relese全流程都加上了,非常簡單!

{
    // See https://go.microsoft.com/fwlink/?LinkId=733558
    // for the documentation about the tasks.json format
    "version": "2.0.0",
    "tasks": [
        {
            //在當(dāng)前項(xiàng)目目錄創(chuàng)建build文件夾
            "label": "mkdir", //任務(wù)名稱
            "type": "shell", //任務(wù)類型,定義任務(wù)是被作為進(jìn)程運(yùn)行還是在 shell 中作為命令運(yùn)行。
            "options": {
                "cwd": "${workspaceFolder}" //已執(zhí)行程序或腳本的當(dāng)前工作目錄,設(shè)置當(dāng)前項(xiàng)目文件夾
            },
            "command": "mkdir", //命令
            "args": [ //命令后面跟的參數(shù)
                "-Force",
                "build"
            ]
        },
        {
            "label": "qmake-debug",
            "type": "shell",
            "options": {
                "cwd": "${workspaceFolder}/build" //進(jìn)入build目錄
            },
            "command": "qmake", //qmake命令,這里沒用完整路徑,是因?yàn)榕渲玫江h(huán)境變量了 C:/Qt/5.15.2/mingw81_64/bin/qmake.exe
            "args": [ //跟的參數(shù)是不是很熟悉,就是上面分析出來的Qt Creator執(zhí)行流程
                "../${workspaceFolderBasename}.pro", //在build目錄上一級(jí)哦
                "-spec",
                "win32-g++",
                "\"CONFIG+=debug\"",
                "\"CONFIG+=console\""
            ],
            "dependsOn": [ //這是本條命令依賴的前置條件,就是上面創(chuàng)建build文件夾的task,直接執(zhí)行本task會(huì)自動(dòng)先調(diào)用依賴的task
                "mkdir" //其實(shí)可以手動(dòng)執(zhí)行一次,后面不用每次都執(zhí)行創(chuàng)建目錄的操作
            ]
        },
        {
            "label": "make-debug",
            "type": "shell",
            "options": {
                "cwd": "${workspaceFolder}/build"
            },
            "command": "mingw32-make", //MinGW這個(gè)也配置在環(huán)境變量了,不用寫完整路徑了 C:/Qt/Tools/mingw810_64/bin/mingw32-make.exe
            "args": [
                "-f",
                "Makefile.Debug", //-f 選擇makefile,這是qmake編譯出來的
                "-j7" //這個(gè)參數(shù)都知道吧,編譯用的線程數(shù)量
            ],
            "dependsOn": [
                "qmake-debug"
            ]
        },
        {
            "label": "run-debug",
            "type": "process", //運(yùn)行就不能選擇shell執(zhí)行了,要選擇process
            "options": {
                "cwd": "${workspaceFolder}/build/debug" //沒在.pro配置DESTDIR,會(huì)生成到build目錄下面對(duì)應(yīng)目錄
            },
            "command": "${workspaceFolderBasename}.exe", //執(zhí)行的exe名字,一般當(dāng)前項(xiàng)目文件夾的名稱,自定義可以寫其他的
            "dependsOn": [
                "make-debug"
            ]
        },
        /
        {
            "label": "qmake-release",
            "type": "shell",
            "options": {
                "cwd": "${workspaceFolder}/build"
            },
            "command": "qmake",
            "args": [ //注意release跟debug參數(shù)的差異
                "../${workspaceFolderBasename}.pro",
                "-spec",
                "win32-g++",
                "\"CONFIG+=qtquickcompiler\""
            ],
            "dependsOn": [
                // "mkdir" //不用每次都創(chuàng)建吧
            ]
        },
        {
            "label": "make-release",
            "type": "shell",
            "options": {
                "cwd": "${workspaceFolder}/build"
            },
            "command": "mingw32-make",
            "args": [
                "-f",
                "Makefile.Release", //注意release跟debug參數(shù)的差異
                "-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"
            ]
        }
    ]
}

既然配置好了,那就可以開心的運(yùn)行代碼,有兩種方式

終端-運(yùn)行任務(wù)-選擇任務(wù),我們配置的task都在里面了,選擇run-debug/run-release就行,因?yàn)榕渲眠^depend[],前面qmake、make都被一條龍調(diào)用

在這里插入圖片描述

既然是VSCode,不用快捷鍵怎么可以,超級(jí)強(qiáng)大的ctrl+shift+p,輸入run,和手點(diǎn)流程一樣,回車,方向鍵選擇run-debug/run-release回車執(zhí)行就好了

在這里插入圖片描述

一條龍調(diào)用的命令在控制臺(tái)就會(huì)有輸出了,exe啟動(dòng)后log也會(huì)在這輸出

在這里插入圖片描述

03. 配置斷點(diǎn)調(diào)試

? 上面配置的是以debug/release方式運(yùn)行程序,那么要打斷點(diǎn)調(diào)試怎么辦呢?

1.配置launch.json

側(cè)邊欄選擇調(diào)試,點(diǎn)擊創(chuàng)建launch.json文件

在這里插入圖片描述

選擇c++就行,第一個(gè)第二個(gè)沒關(guān)系,反正生成的幾乎空白的模板

在這里插入圖片描述

選擇創(chuàng)建配置,選擇gdb啟動(dòng)作為基礎(chǔ)模板,來在上面修改

在這里插入圖片描述

修改內(nèi)容如下,我放了自動(dòng)生成的模板跟修改后的,可以對(duì)比看下修改了那些地方,實(shí)際使用記得刪除哈

{
    // 使用 IntelliSense 了解相關(guān)屬性。 
    // 懸停以查看現(xiàn)有屬性的描述。
    // 欲了解更多信息,請(qǐng)?jiān)L問: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "name": "(gdb) 啟動(dòng)", //模板,實(shí)際使用記得刪除
            "type": "cppdbg",
            "request": "launch",
            "program": "輸入程序名稱,例如 ${workspaceFolder}/a.exe",
            "args": [],
            "stopAtEntry": false,
            "cwd": "${fileDirname}",
            "environment": [],
            "externalConsole": false,
            "MIMode": "gdb",
            "miDebuggerPath": "/path/to/gdb",
            "setupCommands": [
                {
                    "description": "為 gdb 啟用整齊打印",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                },
                {
                    "description": "將反匯編風(fēng)格設(shè)置為 Intel",
                    "text": "-gdb-set disassembly-flavor intel",
                    "ignoreFailures": true
                }
            ]
        },
        {
            "name": "debug", //修改后
            "type": "cppdbg",
            "request": "launch",
            "program": "${workspaceFolder}/build/debug/${workspaceFolderBasename}.exe", //寫完整路徑
            "args": [],
            "stopAtEntry": false,
            "cwd": "${workspaceFolder}", //工作目錄,項(xiàng)目根目錄
            "environment": [],
            "externalConsole": false,
            "MIMode": "gdb",
            "miDebuggerPath": "C:/Qt/Tools/mingw810_64/bin/gdb.exe", //選擇MinGW中的gdb
            "setupCommands": [
                {
                    "description": "為 gdb 啟用整齊打印",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                }
            ],
            "preLaunchTask": "make-debug", //這跟depend[]很像啊,make就行了,用make編譯出exe
        }
    ]
}

2. 運(yùn)行調(diào)試

重新打開調(diào)試,剛才配置的調(diào)試配置已經(jīng)存在了

在這里插入圖片描述

打個(gè)斷點(diǎn),點(diǎn)擊綠色三角,運(yùn)行下看看效果

在這里插入圖片描述

04. 運(yùn)行效果

run-debug及自動(dòng)生成的目錄結(jié)構(gòu)、控制臺(tái)log,ctrl+c結(jié)束程序

在這里插入圖片描述

run-release

在這里插入圖片描述

debug斷點(diǎn)調(diào)試

在這里插入圖片描述

到此這篇關(guān)于vscode+qt+qmake開發(fā)環(huán)境搭建(最全最詳細(xì))的文章就介紹到這了,更多相關(guān)vscode qt qmake環(huán)境搭建內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論