サポートされているホスト
このドキュメントでは、vcpkg でサポートされるアーキテクチャとオペレーティング システムについて説明します。
依存関係
vcpkg は、実行する前にインストールするシステム コンポーネントにも依存します。
vcpkg を使用するには、最初にいくつかのコンポーネントをシステムにインストールする必要があります。
- Windows: Visual Studio 2015 以降。
- macOS: Xcode コマンド ライン ツール、tar、git、zip、unzip、curl。 ほとんどのポートにも
pkg-config
が必要です。 ターミナル コマンドbrew install zip unzip curl pkgconfig
など、Homebrew 経由でこれらの依存関係をインストールすることをお勧めします。 - 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 のメンテナーとコミュニティによって迅速に検出され、修正されます。 - 完全なサポート(想定)
構成は、"フル サポート、テスト済み" と同じ優先順位で扱われますが、通常のテストには含まれません。 一般に、これらの構成は、完全にテストされた構成の 1 つにほぼ似ています。 - コミュニティ サポート
vcpkg の保守担当者によって積極的にサポートされていないが、コミュニティへの多大な投資がある構成。 vcpkg メンテナーは、これらのプラットフォームの問題を修正するための変更を受け入れますが、これらの構成が機能することを保証しません。 vcpkg チームは、できるだけ多くのプラットフォームをコミュニティ サポートから完全なサポートに移行することに関心を持っています。 - サポート対象外
何らかの理由で動作しないことがわかっている構成。 一般に、これらのプラットフォームのみを修正する PR は受け入れまれません。
完全サポート、テスト済み
完全にサポートされているテスト済みプラットフォームは次のとおりです。
Windows
- 最新の Windows/Windows Server リリース。 これらは、この執筆時点の Windows 11 および Windows Server 2022 です。
- この記事の執筆時点での最新の Visual Studio 更新プログラム、Visual Studio 2022 バージョン 17.11。
macOS
macOS は、最新バージョンの macOS と Xcode コマンド ライン ツールの最新バージョンを追跡することを目的としています。 ただし、macOS マシンの更新は手動のプロセスであり、macOS は vcpkg のテストを中断する方法で頻繁に変更されます。 この執筆時点では、次のコードを使用しています。
- macOS 14.5
- XCode コマンド ライン ツール 15.3
Linux
- Ubuntu の最新の LTS リリース(現在 22.04)。
Android
- Linux 64 ビット Android NDK バージョン r26d
完全なサポート(想定)
Windows
- Windows 8.1 /Windows Server 2016 以降
- Visual Studio 2015 以降
macOS
- macOS の最新バージョン。メジャー バージョンは 2 を引いた値です。 たとえば、macOS の現在のバージョンは macOS 15 Sequoia であるため、vcpkg は macOS 13 Ventura まで動作することが想定されています。 これは、MacOS に対する Apple 独自のサポートを使用して追跡することを目的としています。
- 特定のリリースの macOS 用 Xcode コマンド ライン ツールの最新バージョン。
Linux
過去 5 年間にリリースされたディストリビューション ベンダーから引き続きサポートされている glibc ベースの Linux の AMD64 ビルドをサポートする予定です。 例 :
- 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)
- Ninja 1.10.0 (すべて)
- Curl 7.68 (Ubuntu 20.04)
- zip 3.0 (すべて)
- unzip 6.0 (すべて)
コミュニティ サポート
Windows
- Windows 7/Windows Server 2008 R2 以降
vcpkg.exe
は Windows 7 フレーバーで動作する必要がありますが、キュレーションされたレジストリの大部分には、 pkg-config
のような MSYS2 コンポーネントが必要です。 8.1 より古いバージョンの Windows はサポートされていません。
- ビルド コンパイラとしての MinGW または Clang。
現在、vcpkg には多くの Visual Studio の前提条件があります。特に、実行可能ファイルの一致する PDB をコピーする機能では、現在、Visual Studio コンポーネントである dumpbin が必要です。 しかし、MinGW のサポートに関心を持ち、MinGW ツールチェーンをボックスに含める専用のコミュニティ メンバーが多数います。
Linux
- AMD64 以外の Linux。 すべての arm64 Linux ハードウェアで実行される可能性が高いバイナリを提供する方法を示すことができる場合は、arm64 Linux をターゲットとする人々からの支援に非常に関心があります。
- 非 glibc Linux。 vcpkg が通常提供するいくつかのツールは、システム libc が glibc であることを期待するバイナリ形式で配布されます。 Alpine で動作するようにテストした vcpkg の muslc ベースのバイナリを提供していますが、CMake のような多くの依存関係の muslc ベースのコピーを提供することはできません。
BSD または他の POSIX システム
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 は、
PATH
からunzip
を実行します。 最終的に、パッケージ マネージャーを使用して追加のオペレーティング システムがインストールされているにもかかわらず、unzip
提供されているオペレーティング システムが vcpkg によって実行される可能性があります。PATH
環境変数は、オペレーティング システムの環境変数よりもサード パーティのunzip
を優先するように構成する必要があります。または、vcpkg はバイナリ キャッシュの抽出に失敗します。
サポートされていない
- 32 ビット Windows。 x86 ウィンドウまたは arm-windows をターゲットにしても問題ありませんが、vcpkg 自体は、CMake などのサポート ツールの AMD64 コピーを実行することを想定しています。
- Visual Studio 2013 以前。
- Windows Vista 以前。
- macOS または Linux は、 完全にサポートされているカテゴリ よりも古いホストです。
vcpkg