チュートリアル: Visual Studio で MSBuild でパッケージをインストールして使用する
このチュートリアルでは、MSBuild、vcpkg、Visual Studio でライブラリを fmt
使用する C++ "Hello World" プログラムを作成する方法について説明します。 依存関係のインストール、構成、ビルド、および単純なアプリケーションの実行を行います。
前提条件:
- Visual Studio と C++ 開発ワークロード
- Git
- Windows 7 以降
1 - vcpkg を設定する
リポジトリの複製
最初の手順では、GitHub から vcpkg リポジトリを複製します。 リポジトリには、vcpkg 実行可能ファイルを取得するスクリプトと、vcpkg コミュニティに含まれるキュレーションされたオープンソース ライブラリのレジストリメイン含まれています。 これを行うには、次を実行します。
git clone https://github.com/microsoft/vcpkg.git
vcpkg キュレーション レジストリは、2,000 を超えるオープンソース ライブラリのセットです。 これらのライブラリは、vcpkg の継続的インテグレーション パイプラインによって検証され、連携しています。 vcpkg リポジトリにはこれらのライブラリのソース コードは含まれていませんが、レシピとメタデータを保持して、それらをビルドしてシステムにインストールします。
ブートストラップ スクリプトを実行する
vcpkg リポジトリを複製したら、ディレクトリに移動し
vcpkg
、ブートストラップ スクリプトを実行します。cd vcpkg && bootstrap-vcpkg.bat
cd vcpkg; .\bootstrap-vcpkg.bat
cd vcpkg && ./bootstrap-vcpkg.sh
ブートストラップ スクリプトは、前提条件のチェックを実行し、vcpkg 実行可能ファイルをダウンロードします。
これで完了です。 vcpkg がセットアップされ、使用する準備が整いました。
- Visual Studio MSBuild との統合
次の手順では、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 プロジェクトを設定する
Visual Studio プロジェクトの作成
- "コンソール アプリケーション" テンプレートを使用して Visual Studio で新しいプロジェクトを作成する
Visual Studio で新しい C++ Windows コンソール アプリケーションを作成する方法を示す Visual Studio UI のスクリーンショット
- プロジェクトに "helloworld" という名前を付けます
- [ソリューションとプロジェクトを同じディレクトリに配置する] チェック ボックスをオンにします。
- [作成] ボタンをクリックします
MSBuild C++ プロジェクトに名前を付け、[作成] ボタンをクリックするための Visual Studio UI のスクリーンショット。
VCPKG_ROOT
環境変数を構成します。Visual Studio で組み込みの開発者 PowerShell ウィンドウを開きます。
組み込みの PowerShell 開発者ウィンドウの Visual Studio UI のスクリーンショット
次のコマンドを実行します。
$env:VCPKG_ROOT = "C:\path\to\vcpkg" $env:PATH = "$env:VCPKG_ROOT;$env:PATH"
VCPKG_ROOTを設定して PATH に追加する方法を示す、組み込みの PowerShell 開発者ウィンドウの Visual Studio UI のスクリーンショット。
Note
この方法で環境変数を設定すると、現在のターミナル セッションにのみ影響します。 これらの変更をすべてのセッションで永続的にするには、[Windows システム環境変数] パネルで設定します。
Visual Studio で開発者コマンド プロンプトを開きます。
開発者コマンド プロンプト用の Visual Studio UI のスクリーンショット。
次のコマンドを実行します。
set VCPKG_ROOT="C:\path\to\vcpkg" set PATH=%VCPKG_ROOT%;%PATH%
VCPKG_ROOTを設定して PATH に追加する方法を示す Visual Studio 開発者コマンド プロンプトのスクリーンショット。
Note
この方法で環境変数を設定すると、現在のターミナル セッションにのみ影響します。 これらの変更をすべてのセッションで永続的にするには、[Windows システム環境変数] パネルで設定します。
設定
VCPKG_ROOT
は、Visual Studio が vcpkg インスタンスを見つけるのに役立ちます。 これを追加するとPATH
、vcpkg コマンドをシェルから直接実行できるようになります。マニフェスト ファイルを生成し、依存関係を追加します。
次のコマンドを実行して、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 - プロジェクト ファイルを設定する
helloworld.cpp
ファイルを変更します。
の内容を次の helloworld.cpp
コードに置き換えます。
#include <fmt/core.h>
int main()
{
fmt::print("Hello World!\n");
return 0;
}
このソース ファイルには、ライブラリの <fmt/core.h>
一部であるヘッダーが fmt
含まれています。 この関数は main()
、コンソールに "Hello World!" メッセージを出力するために呼び出 fmt::print()
します。
Note
MSBuild を初めてビルドすると、プロジェクトにエラー波線が発生します。 vcpkg 依存関係を取得して削除するプロジェクトをビルドします。
4 - マニフェスト モードを有効にする
プロジェクトの [プロジェクトのプロパティ] ページに移動します。 [Configuration Properties vcpkg]\(構成プロパティ vcpkg\) > で、次のように設定Use vcpkg manifest
しますYes
。 MSBuild は、vcpkg マニフェストから依存関係をインストールする前に、このプロパティが設定されているかどうかをチェックします。
Visual Studio プロジェクトのプロパティで vcpkg マニフェスト モードを有効にするスクリーンショット
トリプレットなどの他の設定には、vcpkg がプロジェクトから検出した既定値が入力され、プロジェクトを構成するときに役立ちます。
5 - プロジェクトをビルドして実行する
プロジェクトをビルドします。
Visual
Ctrl+Shift+B
Studio でプロジェクトをビルドし、vcpkg 依存関係を取得します。
MSBuild でファイルが vcpkg.json
検出され、プロジェクトでマニフェストが有効になっている場合、MSBuild は事前ビルド手順としてマニフェストの依存関係をインストールします。 依存関係は、プロジェクトの vcpkg_installed
ビルド出力ディレクトリ内のディレクトリにインストールされます。 ライブラリによってインストールされたすべてのヘッダーを直接使用でき、インストールされたすべてのライブラリが自動的にリンクされます。
Note
vcpkg install
は、ライブラリのデバッグ構成とリリース構成の両方をビルドします。 リリース ライブラリのみをビルドするには、トリプレットに追加 VCPKG_RELEASE_ONLY
します。
アプリケーションを実行します。
最後に、実行可能ファイルを実行します。
実行可能ファイルを実行するための Visual Studio UI のスクリーンショット。
次のように出力されるはずです。
プログラムの出力のスクリーンショット - "Hello World!"
次のステップ
vcpkg MSBuild の統合の詳細 vcpkg.json
については、リファレンス ドキュメントを参照してください。
vcpkg
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示