最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

VSCode+Qt+CMake詳細教程

 更新時間:2025年08月25日 09:52:06   作者:譜寫秋天  
本文詳解如何在VSCode中搭建Qt與CMake開發(fā)環(huán)境,涵蓋安裝步驟、配置Qt路徑、編寫CMakeLists.txt及項目構(gòu)建運行流程,強調(diào)擴展工具鏈的使用,助力實現(xiàn)高效跨平臺Qt C++開發(fā),本文給大家介紹的非常詳細,感興趣的朋友一起看看吧

第一部分:環(huán)境準備與安裝

1. 安裝 VSCode

  1. 訪問 VSCode 官網(wǎng) 下載并安裝。
  2. 安裝完成后,打開 VSCode,安裝以下必備擴展:
    • C/C++ (Microsoft): 提供 C/C++ 語言的 IntelliSense、調(diào)試等功能。
    • CMake (Microsoft): 提供 CMake 項目的構(gòu)建、調(diào)試、配置支持。
    • CMake Tools (Microsoft): CMake 擴展的增強工具,是核心。
    • (可選) Qt Configure (TheQtCompany): 幫助配置 Qt 環(huán)境,提供 .ui 文件預覽等功能。
    • (可選) Qt Tools (TheQtCompany): 提供 Qt 特有的語法高亮等。

2. 安裝 Qt

  1. 訪問 Qt 官網(wǎng) 下載 Qt Online Installer。
  2. 運行安裝程序,登錄或注冊 Qt 賬戶。
  3. 在選擇組件頁面,至關(guān)重要的一步:
    • 選擇最新的 Qt 版本 (如 Qt 6.7.0)。
    • 展開該版本,勾選以下組件:
      • MSVC 2019 64-bit (如果你在 Windows 上使用 Visual Studio 的編譯器)
      • MinGW 11.2.0 64-bit (如果你使用 MinGW 編譯器)
      • Android, iOS, macOS 等 (根據(jù)你的目標平臺選擇)。
    • 務(wù)必勾選 SourcesDebugging Tools for Windows (Windows MSVC 下),這對調(diào)試非常有幫助。
    • 勾選 Qt Creator(雖然我們用 VSCode,但 Qt Creator 自帶了許多有用的工具,如 qmake, uic, moc 等,這些工具在構(gòu)建時是必需的)。
    建議: 如果你使用 MSVC,請確保系統(tǒng)已安裝對應版本的 Visual Studio Build ToolsVisual Studio。

3. 安裝 CMake

  1. 訪問 CMake 官網(wǎng) 下載安裝包。
  2. 安裝時,務(wù)必勾選 “Add CMake to the system PATH for all users”,這樣 VSCode 和終端才能找到它。
  3. 安裝完成后,打開終端 (CMD/PowerShell),輸入 cmake --version 驗證是否安裝成功。

4. 安裝編譯器 (如果未安裝)

  • Windows (MSVC): 安裝 Visual Studio 并勾選 “C++ 桌面開發(fā)” 工作負載。
  • Windows (MinGW): 可以單獨安裝 MinGW-w64,但更簡單的方法是如上所述,在安裝 Qt 時直接勾選 MinGW 組件。
  • Linux: 通常系統(tǒng)自帶 GCC/G++,可通過包管理器安裝 (sudo apt install build-essential on Ubuntu)。
  • macOS: 安裝 Xcode Command Line Tools (xcode-select --install)。

第二部分:配置 VSCode 環(huán)境

1. 配置 Qt 路徑

VSCode 需要知道 Qt 的安裝位置,以便 CMake Tools 擴展能找到 Qt 的庫和工具。

  1. 打開 VSCode 的設(shè)置 (Ctrl+,)。
  2. 搜索 cmake kit
  3. 找到 Cmake: Kits 設(shè)置,點擊 “在 settings.json 中編輯”
  4. 這會打開 settings.json 文件。我們需要添加一個 “Kit”

示例配置 (請根據(jù)你的實際路徑修改):

{
    "cmake.configureOnOpen": false, // 可選:建議關(guān)閉,手動配置
    "cmake.generator": "Ninja",     // 可選:推薦使用更快的 Ninja 代替 NMake
    "cmake.kits": [
        {
            "name": "Qt-6.7.0-MSVC2019_64",
            "compilers": {
                "C": "C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.29.30133/bin/Hostx64/x64/cl.exe",
                "CXX": "C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.29.30133/bin/Hostx64/x64/cl.exe"
            },
            "environmentVariables": {
                // 將 Qt 的 bin 目錄和編譯器的目錄添加到 PATH
                "PATH": "C:/Qt/6.7.0/msvc2019_64/bin;C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.29.30133/bin/Hostx64/x64;${env:PATH}"
            },
            "qtDir": "C:/Qt/6.7.0/msvc2019_64" // 最關(guān)鍵的一行,指向你的 Qt 安裝目錄
        }
    ]
}
  • name: 給你的配置起一個易懂的名字。
  • compilers: 指定 C 和 C++ 編譯器的完整路徑。
  • environmentVariables: 設(shè)置臨時的 PATH 環(huán)境變量,確保構(gòu)建時能找到 moc, uic, rcc 等 Qt 工具以及編譯器。
  • qtDir: CMake Tools 擴展用這個變量來查找 Qt。

更簡單的方法:
很多時候,CMake Tools 會自動掃描系統(tǒng)并生成 Kits。安裝完上述軟件后,重啟 VSCode,點擊底部狀態(tài)欄的 “No Kit Selected” 或已選擇的 Kit 名稱,可能會自動彈出檢測到的 Kits 列表(包括上面配置的),直接選擇即可。

第三部分:創(chuàng)建并配置一個 CMake Qt 項目

1. 項目結(jié)構(gòu)

創(chuàng)建一個新的項目文件夾,結(jié)構(gòu)如下:

my_qt_app/
├── CMakeLists.txt
├── main.cpp
├── MainWindow.cpp
├── MainWindow.h
├── MainWindow.ui (可選,UI文件)
└── resources.qrc (可選,資源文件)

2. 編寫 CMakeLists.txt

這是 CMake 構(gòu)建系統(tǒng)的核心配置文件。

# 指定 CMake 的最低版本要求。Qt6 推薦使用 3.16 或更高版本。
cmake_minimum_required(VERSION 3.16)
# 設(shè)置項目名稱和版本
project(MyQtApp VERSION 1.0.0 LANGUAGES CXX)
# 設(shè)置 C++ 標準
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
# 自動調(diào)用 MOC、UIC、RCC
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTOUIC ON)
set(CMAKE_AUTORCC ON)
# 查找所需的 Qt 組件
# 這里的 Core Gui Widgets 是你的項目所依賴的 Qt 模塊
find_package(Qt6 REQUIRED COMPONENTS Core Gui Widgets)
# 如果你的 Qt 安裝在非標準路徑,可能需要手動設(shè)置 Qt6_DIR
# set(Qt6_DIR "C:/Qt/6.7.0/msvc2019_64/lib/cmake/Qt6")
# 添加可執(zhí)行文件目標
add_executable(${PROJECT_NAME}
    main.cpp
    MainWindow.h
    MainWindow.cpp
    # MainWindow.ui  # 如果啟用了 AUTOUIC,通常不需要直接添加 .ui 文件
    # resources.qrc  # 如果啟用了 AUTORCC,通常不需要直接添加 .qrc 文件
)
# 將找到的 Qt 庫鏈接到你的可執(zhí)行文件
target_link_libraries(${PROJECT_NAME} PRIVATE
    Qt6::Core
    Qt6::Gui
    Qt6::Widgets
)
# 在 Windows 上,如果是 GUI 應用程序(非控制臺),添加以下代碼
if (WIN32)
    win32_gui_executable(${PROJECT_NAME})
endif()

3. 編寫簡單的源代碼

main.cpp

#include <QApplication>
#include "MainWindow.h"
int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    MainWindow w;
    w.show();
    return a.exec();
}

MainWindow.h

#pragma once
#include <QMainWindow>
class MainWindow : public QMainWindow
{
    Q_OBJECT // 必須的宏,用于支持 Qt 的信號/槽機制
public:
    MainWindow(QWidget *parent = nullptr);
    ~MainWindow();
};

MainWindow.cpp

#include "MainWindow.h"
MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
{
    // 設(shè)置窗口標題和大小
    setWindowTitle("My First Qt App in VSCode");
    resize(800, 600);
}
MainWindow::~MainWindow() {}

第四部分:在 VSCode 中構(gòu)建和運行

  1. 打開項目文件夾: 用 VSCode 打開 my_qt_app 文件夾。
  2. 選擇 Kit: 點擊底部狀態(tài)欄的 “No Kit Selected”,從列表中選擇你之前配置好的 Kit (如 Qt-6.7.0-MSVC2019_64)。
  3. 選擇 Variant (構(gòu)建類型): 點擊底部狀態(tài)欄的 “[Debug]”,可以選擇 Debug, Release, RelWithDebInfo等。
  4. 配置項目 (Configure):
    • 按下 Ctrl+Shift+P 打開命令面板。
    • 輸入 CMake: Configure 并執(zhí)行?;蛘唿c擊底部狀態(tài)欄的 “Configure” 按鈕。
    • 這會讓 CMake 讀取你的 CMakeLists.txt,檢查依賴,并在項目根目錄生成一個 build 文件夾(默認)和 CMakeCache.txt。
  5. 構(gòu)建項目 (Build):
    • 按下 Ctrl+Shift+P,輸入 CMake: Build 并執(zhí)行。或者點擊底部狀態(tài)欄的 “Build” 按鈕 (一個小齒輪)。
    • 編譯輸出會顯示在終端中。成功后,可在 build/Debugbuild/Release 文件夾中找到生成的 .exe 文件。
  6. 運行項目 (Run):
    • 按下 Ctrl+Shift+P,輸入 CMake: Run Without Debugging。或者點擊底部狀態(tài)欄的 “Play” 按鈕。
    • 你的 Qt 應用程序就會啟動!
  7. 調(diào)試 (Debug):
    • 首先在代碼中設(shè)置斷點 (點擊行號左側(cè))。
    • 然后點擊底部狀態(tài)欄的 “Debug” 按鈕 (一個帶蟲子的播放按鈕) 或按 F5。
    • VSCode 會啟動程序并在斷點處暫停,你可以查看變量、調(diào)用堆棧等信息。

第五部分:常見問題與技巧 (FAQ)

  • CMake 找不到 Qt?
    • 檢查 settings.json 中的 qtDir 路徑是否正確。
    • 嘗試在 CMakeLists.txt 中手動設(shè)置 set(Qt6_DIR “你的Qt安裝路徑/lib/cmake/Qt6”)。
  • 構(gòu)建失敗,提示找不到 moc_MainWindow.cpp 之類的文件?
    • 確保 CMakeLists.txt 中設(shè)置了 set(CMAKE_AUTOMOC ON)。
    • 確保你的頭文件包含了 Q_OBJECT 宏。
    • 嘗試執(zhí)行 CMake: Delete Cache and Reconfigure 命令,然后重新構(gòu)建。
  • 如何添加 .ui 文件或 .qrc 文件?
    • .ui 文件放在源碼目錄。
    • CMakeLists.txtadd_executable 命令中不需要直接添加 .ui 文件。AUTOUIC 會自動處理。
    • 確保 .ui 文件對應的頭文件(如 MainWindow.h)中包含了使用 ui->setupUi(this); 的代碼。.qrc 資源文件同理。
  • 如何清理構(gòu)建?
    • 直接刪除項目根目錄下的 build 文件夾,然后重新 ConfigureBuild。

總結(jié)

VSCode + Qt + CMake 的組合提供了高度可定制化和現(xiàn)代化的開發(fā)體驗。雖然初始配置比 Qt Creator 稍顯復雜,但它提供了無與倫比的編輯器體驗、強大的擴展生態(tài)系統(tǒng)和對構(gòu)建流程的更深層次控制。一旦配置完成,其流暢的開發(fā)體驗會讓你覺得物有所值。

這套組合是當前 Qt C++ 開發(fā)的主流選擇之一,它結(jié)合了:

  • VSCode: 輕量級、插件豐富、生態(tài)強大的代碼編輯器。
  • Qt: 強大的跨平臺應用開發(fā)框架。
  • CMake: 跨平臺的自動化構(gòu)建系統(tǒng),能生成用于編譯的 Makefile 或項目文件。

到此這篇關(guān)于VSCode+Qt+CMake詳細地講解的文章就介紹到這了,更多相關(guān)VSCode Qt CMake內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • C++運算符重載的方法詳細解析

    C++運算符重載的方法詳細解析

    運算符重載的方法是定義一個重載運算符的函數(shù),在需要執(zhí)行被重載的運算符時,系統(tǒng)就自動調(diào)用該函數(shù),以實現(xiàn)相應的運算。也就是說,運算符重載是通過定義函數(shù)實現(xiàn)的
    2013-10-10
  • C語言求向量和的兩則問題解答分享

    C語言求向量和的兩則問題解答分享

    這篇文章主要介紹了C語言求向量和的兩則問題解答分享,分別是求連續(xù)子向量的最大和和任何連續(xù)最接近0的子向量的和的問題,需要的朋友可以參考下
    2016-04-04
  • C語言?模擬實現(xiàn)memcpy與memmove函數(shù)詳解

    C語言?模擬實現(xiàn)memcpy與memmove函數(shù)詳解

    這篇文章主要介紹了C語言詳解如何模擬內(nèi)存函數(shù),用到了mencpy與memmove兩個函數(shù),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步
    2022-04-04
  • C++實現(xiàn)PyMysql的基本功能實例詳解

    C++實現(xiàn)PyMysql的基本功能實例詳解

    這篇文章主要介紹了C++實現(xiàn)PyMysql的基本功能,本文通過實例代碼給大家介紹的非常詳細,對大家的工作或?qū)W習有一定的參考借鑒價值,需要的朋友可以參考下
    2020-03-03
  • C語言報錯:Undefined Reference的產(chǎn)生原因和解決方案

    C語言報錯:Undefined Reference的產(chǎn)生原因和解決方案

    Undefined Reference(未定義引用)是C語言編譯過程中常見的錯誤之一,通常在鏈接階段出現(xiàn),本文將詳細介紹Undefined Reference的產(chǎn)生原因,提供多種解決方案,并通過實例代碼演示如何有效避免和解決此類錯誤,需要的朋友可以參考下
    2024-06-06
  • 詳解Matlab中自帶的Java操作合集

    詳解Matlab中自帶的Java操作合集

    其實Matlab中也有一些自帶的Java操作,例如:獲取鼠標在全屏位置、獲取當前剪切板內(nèi)容、獲取鼠標處像素顏色等,本文總結(jié)了七個這樣的操作,感興趣的可以了解一下
    2022-03-03
  • 利用C++實現(xiàn)簡易的狼人殺游戲

    利用C++實現(xiàn)簡易的狼人殺游戲

    狼人殺游戲是一款非常有趣的角色扮演游戲,它需要玩家之間互相猜測身份并進行投票,通過推理來找出真正的狼人。本文將用C++實現(xiàn)這一游戲,感興趣的可以了解一下
    2023-04-04
  • C++使用map實現(xiàn)多進程拷貝文件的程序思路

    C++使用map實現(xiàn)多進程拷貝文件的程序思路

    這篇文章主要介紹了C++使用mmap實現(xiàn)多進程拷貝文件,通過本文給大家分享程序思路及完整代碼,代碼簡單易懂,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-12-12
  • c語言之如何求e的近似值

    c語言之如何求e的近似值

    這篇文章主要介紹了c語言之如何求e的近似值問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-12-12
  • 基于VS+Opencv2.4.10微信跳一跳輔助工具

    基于VS+Opencv2.4.10微信跳一跳輔助工具

    這篇文章主要為大家詳細介紹了基于VS+Opencv2.4.10微信跳一跳輔助工具,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-01-01

最新評論

茶陵县| 黄山市| 南充市| 沙洋县| 霍州市| 安平县| 泰来县| 瑞金市| 定州市| 台南县| 台南县| 定远县| 黔西县| 鹿邑县| 黄骅市| 库尔勒市| 张家川| 莱州市| 桃园县| 禹城市| 基隆市| 江川县| 化德县| 台前县| 邻水| 乌兰察布市| 新晃| 长泰县| 韶山市| 灯塔市| 华安县| 景宁| 大英县| 拉孜县| 安宁市| 安徽省| 土默特右旗| 阜阳市| 鄂伦春自治旗| 晋宁县| 盐城市|