次の方法で共有


三つ子

Triplet は、ターゲット環境 (CPU、OS、コンパイラ、ランタイムなど) を 1 つの便利な名前で完全にキャプチャする方法として、クロスコンパイルで使用される標準的な用語です。

vcpkg では、トリプレットはすべてのライブラリの架空の "ターゲット構成セット" を記述します。 トリプレット内では、ライブラリは通常、同じ構成で構築されますが、必須ではありません。 たとえば、静的およびzlib動的にopensslビルドする 1 つのトリプレット、静的にビルドするトリプレット、および動的にビルドするトリプレット (すべて同じターゲット OS とアーキテクチャ用) を使用できます。

1 つのビルドでは、最大 2 つのトリプレット (ターゲット トリプレットとホスト トリプレット) のファイルが使用されます。 異なるライブラリに異なる設定を適用する必要がある場合は、その設定の組み合わせで 1 つのカスタム トリプレットを作成する必要があります。 これを行う方法については、 ポートごとのカスタマイズ を参照してください。

vcpkg には、多くの一般的なプラットフォームと構成用の定義済みのトリプレットが付属しています。 vcpkg help tripletを実行して、環境内で使用可能なトリプレットの一覧を取得します。

トリプレットの選択

ターゲットトリプレットを選択するには:

現在のマシンのホスト トリプレットを選択するには:

コミュニティトリプレット

triplets\community フォルダーに含まれるトリプレットは、キュレーションされたレジストリの継続的インテグレーションによってテストされませんが、一般的にコミュニティから要求されます。 継続的なカバレッジがないため、ポートの更新によってコミュニティトリプレットとの互換性が損なわれる可能性があります。 私たちは、これらのトリプレットの問題を解決することを目的とした貢献を喜んで受け入れ、レビューします。

コミュニティ トリプレットを使用すると、パッケージのインストール中に次のようなメッセージが出力されます。

-- Using community triplet x86-uwp. This triplet configuration is not guaranteed to succeed.
-- [COMMUNITY] Loading triplet configuration from: D:\src\vcpkg\triplets\community\x86-uwp.cmake

トリプレットを追加または置換する

vcpkg を拡張するには、ボックス内のトリプレットを置き換えるか、特定のプロジェクトの新しいトリプレットを作成します。

まず、組み込みのトリプレット ファイルを triplets\ ディレクトリから別のファイルシステムの場所にコピーします。 次に、vcpkg と対話するときに、そのディレクトリをオーバーレイトリプレット パスの一覧に追加します。

詳細なチュートリアルについては、 overlay トリプレットの例 を参照してください。

Note

トリプレット名には、小文字の英数字とハイフンのみを含めることができます。

解説

vcpkg コマンドの実行時の既定のトリプレットは %VCPKG_DEFAULT_TRIPLET% か、その環境変数が未定義の場合はプラットフォーム固有の選択です。

  • Windows: x64-windows
  • Linux: x64-linux
  • OSX: x64-osx

新しいトリプレットを作成するときは、体系的な名前付けスキームを使用することをお勧めします。 Android ツールチェーンの名前付けスキームは、インスピレーションの良いソースです: https://developer.android.com/ndk/guides/standalone_toolchain.html