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)