次の方法で共有


オーバーレイ ポート

通常、vcpkg ポートは registries から取得されます。 インストールするポートのほとんどは、 https://github.com/Microsoft/vcpkgの公式 vcpkg レジストリから取得される可能性が非常に高いです。 vcpkg を使用すると、ファイル システム経由で使用可能なポートをインストールできます。これらのポートはオーバーレイ ポートと呼びます。

オーバーレイ ポートは、既存のポートのドロップイン代替として、または registryで使用できない新しいポートとして機能できます。 パッケージ名を取得するときに、オーバーレイ ポートが優先されます。

オーバーレイ ポートは、次の順序で評価されます。

  • --overlay-portsを介してコマンド ラインで指定されたオーバーレイの場所。
  • overlay-portsを使用して、vcpkg-configuration.json ファイルで指定された場所をオーバーレイします。
  • VCPKG_OVERLAY_PORTS環境変数で指定されたオーバーレイの場所。

ポート名を解決するときに、一致するオーバーレイ ポートを含む最初の場所が選択されます。

オーバーレイ ポートの使用

ディレクトリはオーバーレイ ポートのセットを表し、次の 2 つの方法のいずれかで指定できます。

  • 単一オーバーレイ ポート: <directory>/sqlite3 は 1 つのポートを指します
  • オーバーレイ ポートのディレクトリ: <directory> はポートのディレクトリを参照します。有効なポートには、 vcpkg.jsonportfile.cmakeの両方が含まれている必要があります。

オーバーレイ ポートは、いくつかの方法で追加できます。

  • コマンド ライン: vcpkg コマンドに 1 つまたは複数の --overlay-ports=<directory> オプションを追加する
  • マニフェスト: "overlay-ports" 配列を vcpkg-configuration.json
  • 環境変数: ディレクトリ パスの一覧に VCPKG_OVERLAY_PORTS を設定する

例: オーバーレイ ポートの例

このディレクトリ構造を考えると、

複数のオーバーレイ ポート ディレクトリを含む例

team-ports という名前のオーバーレイ ディレクトリには、sqlite3、rapidjson、curl のポートが含まれています。 my-ports という名前のオーバーレイ ディレクトリには、ポート sqlite3 と rapidjson が含まれています。 vcpkg ディレクトリには、既定のレジストリが含まれています。

実行 (Run):

vcpkg install sqlite3 --overlay-ports=my-ports --overlay-ports=team-ports

インストールするには、次のようにします。

  • my-ports からの sqlite3

実行 (Run):

vcpkg install sqlite3 rapidjson curl 
    --overlay-ports=my-ports/rapidjson 
    --overlay-ports=vcpkg/ports/curl
    --overlay-ports=team-ports

インストールするには、次のようにします。

  • team-ports からの sqlite3
  • my-ports からの rapidjson
  • curl 'vcpkg/ports から

例: オーバーレイ・ポートを使用してシステム・パッケージ・マネージャーの依存関係を使用する

vcpkg の依存関係に対してシステム パッケージ マネージャーの依存関係を使用するには、 ブログの投稿を参照してください。