Abseil サポート

Protocol Buffers の C++ 実装は、Abseil に明示的に依存しています。

バージョン 22.x で、C++ protobuf は Abseil への明示的な依存関係を追加しました。

Bazel サポート

Bazel を使用している場合、protobuf のバージョンがサポートする Abseil のバージョンを特定するには、bazel mod コマンドを使用できます。

$ bazel mod deps abseil-cpp --enable_bzlmod
<root> (protobuf@30.0-dev)
└───abseil-cpp@20240722.0
    ├───bazel_skylib@1.7.1
    ├───googletest@1.15.2
    └───platforms@0.0.10

bazel mod graph は完全な出力を生成します。

$ bazel mod graph --enable_bzlmod
<root> (protobuf@30.0-dev)
├───abseil-cpp@20240722.0
│   ├───bazel_skylib@1.7.1 (*)
│   ├───googletest@1.15.2 (*)
│   └───platforms@0.0.10 (*)
├───bazel_features@1.18.0
│   └───bazel_skylib@1.7.1 (*)
├───bazel_skylib@1.7.1
│   ├───platforms@0.0.10 (*)
│   └───rules_license@1.0.0 (*)
├───googletest@1.15.2
│   ├───abseil-cpp@20240722.0 (*)
│   ├───platforms@0.0.10 (*)
│   └───re2@2024-07-02
...

CMake サポート

CMake サポートは Bazel に比べてベストエフォートです。サポートを確認するには、次の手順を試してください。

  1. cmake . コマンドを実行します。
  2. _deps/absl-src/CMakeLists.txt を開きます。

次の行を探してください

project(absl LANGUAGES CXX VERSION 20240722)
set(ABSL_SOVERSION "2407.0.0")
include(CTest)