共用方式為


教學課程:在Visual Studio中搭配 MSBuild 安裝和使用套件

本教學課程說明如何建立C++ “Hello World” 程式,以搭配 MSBuild、vcpkg 和 Visual Studio 使用 fmt 連結庫。 您將安裝相依性、設定專案、建置和執行簡單的應用程式。

必要條件

1 - 設定 vcpkg

  1. 複製存放庫

    第一個步驟是從 GitHub 複製 vcpkg 存放庫。 存放庫包含可取得 vcpkg 可執行文件的腳本,以及 vcpkg 社群所維護之策劃開放原始碼連結庫的登錄。 若要這樣做,請執行:

    git clone https://github.com/microsoft/vcpkg.git
    

    vcpkg 策展登錄是一組超過 2,000 個開放原始碼連結庫。 這些連結庫已由 vcpkg 的持續整合管線進行驗證,以共同運作。 雖然 vcpkg 存放庫不包含這些連結庫的原始程式碼,但它會保存配方和元數據,以在您的系統中建置並安裝它們。

  2. 執行啟動程式腳本

    既然您已複製 vcpkg 存放庫,請瀏覽至 vcpkg 目錄並執行啟動程式腳本:

    cd vcpkg && bootstrap-vcpkg.bat
    
    cd vcpkg; .\bootstrap-vcpkg.bat
    
    cd vcpkg && ./bootstrap-vcpkg.sh
    

    啟動程式腳本會執行必要條件檢查,並下載 vcpkg 可執行檔。

    介紹完畢 vcpkg 已設定且可供使用。

  1. 與 Visual Studio MSBuild 整合

    下一個步驟是啟用全使用者 vcpkg 整合,這可讓 MSBuild 知道 vcpkg 的安裝路徑。

    執行

    .\vcpkg.exe integrate install
    

    其會輸出:

    All MSBuild C++ projects can now #include any installed libraries. Linking will be handled automatically. Installing new libraries will make them instantly available.
    

2 - 設定 Visual Studio 專案

  1. 建立 Visual Studio 專案

    • 使用 「主控台應用程式」範本在 Visual Studio 中建立新專案

      建立新的 C++ Windows 控制台應用程式

      Visual Studio UI 的螢幕快照,其中顯示如何在 Visual Studio 中建立新的 C++ Windows 控制台應用程式

    • 將專案命名為 “helloworld”

    • 核取 [將方案與專案放在相同目錄中] 的方塊。

    • 按兩下 [建立] 按鈕

      命名 MSBuild C++專案

      Visual Studio UI 的螢幕快照,用於命名 MSBuild C++ 專案,然後按兩下 [建立] 按鈕。

  2. 設定 VCPKG_ROOT 環境變數。

    注意

    以這種方式設定環境變數只會影響目前的終端機會話。 若要在所有工作階段中永久進行這些變更,請透過 [Windows 系統環境變數] 面板加以設定。

    在 Visual Studio 中開啟內建的開發人員 PowerShell 視窗。

    開啟內建開發人員Powershell

    內建 PowerShell 開發人員視窗的 Visual Studio UI 螢幕快照

    執行下列命令:

    $env:VCPKG_ROOT = "C:\path\to\vcpkg"
    $env:PATH = "$env:VCPKG_ROOT;$env:PATH"
    

    設定環境變數

    內建 PowerShell 開發人員視窗的 Visual Studio UI 螢幕快照,其中顯示如何設定VCPKG_ROOT,並將其新增至 PATH。

    在 Visual Studio 中開啟開發人員命令提示字元。

    開啟 Visual Studio 開發人員命令提示字元。

    Visual Studio UI for developer 命令提示字元的螢幕快照。

    執行下列命令:

    set "VCPKG_ROOT=C:\path\to\vcpkg"
    set PATH=%VCPKG_ROOT%;%PATH%
    

    設定環境變數

    Visual Studio 開發人員命令提示字元的螢幕快照,其中顯示如何設定VCPKG_ROOT,並將其新增至PATH。

    設定 VCPKG_ROOT 可協助 Visual Studio 找出您的 vcpkg 實例。 新增它以確保 PATH 您可以直接從殼層執行 vcpkg 命令。

  3. 產生指令清單檔案並新增相依性。

    執行下列命令以建立 vcpkg 指令清單檔案 (vcpkg.json):

    vcpkg new --application
    

    命令 vcpkg new 會在項目的目錄中新增 vcpkg.json 檔案和 vcpkg-configuration.json 檔案。

    fmt將套件新增為相依性:

    vcpkg add port fmt
    

    vcpkg.json 現在應該包含:

    {
        "dependencies": [
            "fmt"
        ]
    }
    

    這是您的指令清單檔案。 vcpkg 會讀取指令清單檔,以瞭解要安裝和整合哪些相依性與 MSBuild,以提供專案所需的相依性。

    產生的vcpkg-configuration.json檔案引進了基準,以將最低版本條件約束放在專案的相依性上。 修改此檔案超出本教學課程的範圍。 雖然本教學課程不適用,但最好讓 vcpkg-configuration.json 檔案保持在原始檔控制之下,以確保不同開發環境之間的版本一致性。

3 - 設定項目檔

  1. 修改 helloworld.cpp 檔案。

    將的內容 helloworld.cpp 取代為下列程式代碼:

    #include <fmt/core.h>
    
    int main()
    {
        fmt::print("Hello World!\n");
        return 0;
    }
    

    此原始程式檔包含屬於連結 <fmt/core.h> 庫的 fmt 標頭。 函 main() 式會呼叫 fmt::print() ,將 “Hello World!” 訊息輸出至控制台。

    注意

    程式代碼編輯器可能會加上參考 fmt 檔案和符號作為錯誤的行底線。 您必須針對 vcpkg 建置專案一次,才能安裝相依性,並讓自動完成工具正確評估程式代碼。

4 - 啟用指令清單模式

  1. 瀏覽至您的 [項目屬性] 頁面。

    使用頂端的功能表導覽,選擇 [ 項目 > 屬性]。 新的視窗隨即開啟。

  2. 瀏覽至 [ 組態屬性 > vcpkg],並將 設定 Use vcpkg ManifestYes

    在專案屬性中啟用指令清單模式

    在 Visual Studio 專案屬性中啟用 vcpkg 指令清單模式的螢幕快照

    其他設定,例如 三胞胎,會填入您專案中偵測到的預設值 vcpkg,而且在設定專案時會很有用。

5 - 建置並執行專案

  1. 組建專案。

    Ctrl+Shift+B 以在Visual Studio中建置專案,並取得 vcpkg 相依性。

    如果 MSBuild 偵測到 vcpkg.json 專案中已啟用檔案和指令清單,MSBuild 會將指令清單的相依性安裝為建置前步驟。 相依性會安裝在 vcpkg_installed 專案的組建輸出目錄中。 連結庫所安裝的任何標頭都可以直接使用,而且任何安裝的連結庫都會自動連結。

  2. 執行應用程式。

    最後,執行可執行檔:

    執行可執行檔

    用於執行可執行檔的 Visual Studio UI 螢幕快照。

    您應該會看到以下輸出:

    程序輸出

    程序輸出的螢幕快照 - “Hello World!”

下一步

若要深入瞭解 vcpkg.json 和 vcpkg MSBuild 整合,請參閱我們的參考檔: