このチュートリアルでは、vcpkg を使用してコンパイル済みの依存関係をエクスポートする方法について説明します。 これは、複数のプロジェクト間でライブラリを共有する場合や、配布を容易にする場合に特に便利です。 さらに、エクスポートされたアーカイブをライブ インターネット接続なしで環境に転送することで、オフラインまたはエアギャップのシナリオに合わせてプロセスを調整できます。
[前提条件]
- Visual Studio と C++ 開発ワークロードと CMake コンポーネント
- Git
- vcpkg
1 - fmt
ライブラリをインストールする
ターミナルを開き、vcpkg がインストールされているディレクトリに移動し、ターゲット プラットフォーム用の fmt
ライブラリをインストールします。
vcpkg install fmt:x64-windows
x64-windows
をターゲットトリプレットに置き換えます。
2 - fmt
ライブラリをエクスポートする
fmt
をインストールした後、次を実行してエクスポートします。
vcpkg export fmt:x64-windows --zip
次のような出力が表示されます。
The following packages are already built and will be exported:
fmt:x64-windows
* vcpkg-cmake:x64-windows
* vcpkg-cmake-config:x64-windows
Additional packages (*) need to be exported to complete this operation.
Exporting vcpkg-cmake:x64-windows...
Exporting vcpkg-cmake-config:x64-windows...
Exporting fmt:x64-windows...
Creating zip archive...
Zip archive exported at: C:\dev\vcpkg\vcpkg-export-20231106-164550.zip
To use exported libraries in CMake projects, add -DCMAKE_TOOLCHAIN_FILE=[...]/scripts/buildsystems/vcpkg.cmake to your CMake command line.
このコマンドは、バイナリとヘッダーを含む、 fmt
ライブラリを使用するために必要なすべてのファイルを含む zip アーカイブを作成します。 このエクスポートされたアーカイブは、展開のためにオフライン システムに転送できます。 サポートされているすべての形式の一覧については、 export
コマンドのドキュメントを参照してください。
3 - 新しい CMake プロジェクトで fmt
ライブラリを使用する
新しい CMake プロジェクトで fmt
ライブラリを使用するには、次の手順に従います。
エクスポートしたアーカイブをコンピューター上の既知の場所に解凍するか、オフライン環境に転送します。
CMake プロジェクトの新しいディレクトリを作成し、そこに移動します。
次の内容の
CMakeLists.txt
を作成します。cmake_minimum_required(VERSION 3.10) project(HelloWorld) find_package(fmt CONFIG REQUIRED) add_executable(HelloWorld main.cpp) target_link_libraries(HelloWorld PRIVATE fmt::fmt)
main.cpp
ファイルを作成してfmt
を含め、"Hello, World" を表示します。#include <fmt/core.h> int main() { fmt::print("Hello, World!\n"); return 0; }
プロジェクトをビルドする - ターミナルで、プロジェクト ディレクトリから次を実行します。
cmake -B build -S . -DCMAKE_TOOLCHAIN_FILE=<path-to-archive>/scripts/buildsystems/vcpkg.cmake cmake --build build
次のように実行します。
..\build\Debug\HelloWorld.exe
次のステップ
これで終わりです!
fmt
ライブラリをエクスポートし、別のプロジェクトで使用しました。
vcpkg