次の方法で共有


チュートリアル: コンパイル済みの依存関係をエクスポートする

このチュートリアルでは、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 ライブラリを使用するには、次の手順に従います。

  1. エクスポートしたアーカイブをコンピューター上の既知の場所に解凍するか、オフライン環境に転送します。

  2. CMake プロジェクトの新しいディレクトリを作成し、そこに移動します。

  3. 次の内容の 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)
    
  4. main.cpp ファイルを作成して fmt を含め、"Hello, World" を表示します。

    #include <fmt/core.h>
    
    int main() 
    {
        fmt::print("Hello, World!\n");
        return 0;
    }
    
  5. プロジェクトをビルドする - ターミナルで、プロジェクト ディレクトリから次を実行します。

    cmake -B build -S . -DCMAKE_TOOLCHAIN_FILE=<path-to-archive>/scripts/buildsystems/vcpkg.cmake
    cmake --build build
    
  6. 次のように実行します。

    ..\build\Debug\HelloWorld.exe
    

次のステップ

これで終わりです! fmt ライブラリをエクスポートし、別のプロジェクトで使用しました。