支援的主機
本文件說明 vcpkg 支援的架構和作業系統。
vcpkg 也相依於一些要安裝的系統元件,才能執行。
若要使用 vcpkg,必須先在系統上安裝幾個元件。
- Windows:Visual Studio 2015 或更新版本。
- macOS:Xcode 命令行工具、tar、git、zip、unzip 和 curl。 大部分的埠也需要
pkg-config
。 建議您透過 Homebrew 安裝這些相依性,例如透過終端機命令brew install zip unzip curl pkgconfig
。 - Linux:要使用的C++編譯程式、tar、git、zip、unzip 和 curl。 大部分的埠也需要
pkg-config
。 建議您使用系統套件管理員安裝這些相依性。- 以apt為基礎的平臺:
apt install git curl zip unzip pkgconfig
- rpm 型平臺:
dnf install git curl zip unzip pkgconfig
- 以 pacman 為基礎的平臺:
base-devel git curl zip unzip tar cmake ninja
- 以apt為基礎的平臺:
針對 Linux 和 macOS 使用者,我們也建議安裝下列套件:autoconf
、autoconf-archive
、 automake
make
和 libtool
。 雖然並非必要,但 vcpkg 中提供的連結庫通常會使用這些套件。
支援分成 4 個不同的類別。 畫面如下:
- 完整支援、測試
用來定期測試 vcpkg 策劃登錄的設定。 vcpkg 的維護人員和社群可快速找到並修正這些設定中的問題。 - 完整支持,必須是
以與「完整支援、測試」相同的優先順序處理但不屬於一般測試的組態。 一般而言,這些組態與其中一個經過完整測試的組態大致類似。 - 社群支援
vcpkg 維護人員未主動支持的設定,但有大量的社群投資。 vcpkg 維護者接受變更來修正這些平台的問題,但不保證這些組態能夠運作。 vcpkg 小組有興趣盡可能將許多平臺移出社群支援,以取得完整的支援。 - 不支援
因為某些原因而無法運作的組態。 一般而言,只修正這些平臺的PR不接受。
完全支援且經過測試的平臺如下:
- 最新的 Windows/Windows Server 版本。 從本文起,這些是 Windows 11 和 Windows Server 2022。
- 自本文起,Visual Studio 2022 17.11 版的最新 Visual Studio 更新。
macOS 旨在追蹤最新版的 macOS 和最新版的 Xcode 命令行工具。 不過,更新macOS機器是手動程式,而macOS經常會以中斷 vcpkg 測試的方式變更專案。 從本文起,我們會使用:
- macOS 14.5
- XCode 命令行工具 15.3
- Ubuntu 的最新 LTS 版本,目前為 22.04。
- Linux 64 位 Android NDK 版本 r26d
- Windows 8.1 / Windows Server 2016 和更新版本
- Visual Studio 2015 和更新版本
- 最新版的macOS,減去2個主要版本。 例如,目前的 macOS 版本是 macOS 15 Sequoia,因此我們預期 vcpkg 會回到 macOS 13 Ventura 為止。 這是為了追蹤 Apple 對 macOS 的支援。
- 適用於特定 macOS 版本的 Xcode 命令行工具的當代版本。
我們打算支援 glibc 型 Linux 的 AMD64 組建,其散發廠商在過去 5 年內仍提供支援。 範例:
- Ubuntu 24.04、22.04 和 20.04 支援 Canonical,並在過去 5 年內發行,因此它們有望運作。 Ubuntu 18.04 仍在 Canonical 支援中,但已於 5 多年前發行,因此我們不再將其視為完全支援。 20.10 比 20.04 還新,但我們並不認為它已完全受到支持,因為它不再受到 Canonical 的支援。
- 完全支援 Red Hat Enterprise Linux 9。
- CentOS 和 Red Hat Enterprise Linux 8 於 2024 年 5 月 31 日離開 Red Hat 的支援,且已於 5 多年前發行,因此不再受到支援。
- CentOS 和 RHEL 7 不支援 Red Hat,預計不會像 5 年前一樣運作。 Oracle 目前支援的 Oracle Linux 分支仍在 Oracle 支援,但仍未預期能像 5 年前發行一樣運作。
- Fedora 40 和 39 完全支援,但 Fedora 不再支援 38。
- Debian 12 “Bookworm” 和 11 個 “Bullseye” 都得到了 Debian 的支援,並在過去 5 年內發行。 Debian 10 “Buster” 於 2024 年 7 月離開 Debian 項目的支援,因此 vcpkg 不支援。
我們也假設使用者的組建系統會符合他們所使用的Linux版本,並小心確保像我們的指令清單模式 CMake整合等元件會與上述其中一個發行版隨附的這些相依性版本搭配運作。 截至本文所述,這些相依性版本和相關聯的散發版本如下:
- GCC 9.4.0 (Ubuntu 20.04)
- CMake 3.16.3 (Ubuntu 20.04)
- 忍者 1.10.0 (全部)
- Curl 7.68 (Ubuntu 20.04)
- zip 3.0 (全部)
- unzip 6.0 (全部)
- Windows 7 / Windows Server 2008 R2 和更新版本
vcpkg.exe
應該在 Windows 7 類別上運作,但絕大多數策劃的登錄都需要 MSYS2 元件,例如pkg-config
不再支援 8.1 之前的 Windows 版本。
- MinGW 或 Clang 作為建置編譯程式。
目前 vcpkg 有一些 Visual Studio 假設;特別是針對可執行檔複製相符 PDB 的功能,目前需要 Visual Studio 元件 dumpbin。 不過,我們有一些關心MinGW支援的專用社群成員,並在方塊中包含MinGW工具鏈。
- 非 AMD64 Linux。 如果我們能示範如何提供在所有arm64 Linux硬體上執行成功的可能性很高的二進位檔,我們非常有興趣從目標為arm64 Linux的人提供説明。
- 非 glibc Linux。 vcpkg 通常會提供數個工具,以二進位形式散發,預期系統 libc 會是 glibc。 我們確實提供 vcpkg 的 muslc 型二進位檔,我們已測試在 Alpine 上運作,但無法提供 CMake 等許多相依性的 muslc 型複本。
在 BSD 目標上,不會提供 vcpkg 二進位檔以供下載。 相反地,啟動程式邏輯會下載 vcpkg 原始程式碼並在本機編譯。
vcpkg 需要一些不屬於操作系統且必須使用套件管理員安裝的軟體套件:
- FreeBSD:
pkg install -y bash cmake curl git ninja zip unzip
- OpenBSD:
pkg_add -Iz bash cmake coreutils curl git ninja zip unzip-6.10-iconv
如同在Linux上,建議也安裝一些額外的套件:
- FreeBSD:
pkg install -y autoconf autoconf-archive gmake pkgconf python
- OpenBSD:
pkg_add -Iz autoconf-2.71 autoconf-archive gmake pkgconf python3
- vcpkg 會
unzip
從PATH
執行。 最後,這可能會導致 vcpkg 執行提供的unzip
操作系統,儘管已使用套件管理員安裝額外的作業系統。PATH
環境變數必須設定為偏好第三方unzip
而不是操作系統的環境變數,否則 vcpkg 將無法擷取其二進位快取。
- 32 位 Windows。 以 x86-windows 或 arm-windows 為目標的運作正常,但 vcpkg 本身預期會執行像 CMake 這樣的支援工具 AMD64 複本。
- Visual Studio 2013 或更早版本。
- Windows Vista 或更早版本。
- macOS 或 Linux 主機比完全支援的類別中的 主機 還舊。