Abseil 支持

Protocol Buffers 的 C++ 实现显式依赖于 Abseil。

22.x 版本 中,C++ protobuf 添加了对 Abseil 的显式依赖。

Bazel 支持

如果您使用的是 Bazel,要确定您的 protobuf 版本支持的 Abseil 版本,可以使用 bazel mod 命令

$ bazel mod deps abseil-cpp --enable_bzlmod
<root> ([email protected])
└───[email protected]
    ├───[email protected]
    ├───[email protected]
    └───[email protected]

bazel mod graph 生成完整输出

$ bazel mod graph --enable_bzlmod
<root> ([email protected])
├───[email protected]
│   ├───[email protected] (*)
│   ├───[email protected] (*)
│   └───[email protected] (*)
├───[email protected]
│   └───[email protected] (*)
├───[email protected]
│   ├───[email protected] (*)
│   └───[email protected] (*)
├───[email protected]
│   ├───[email protected] (*)
│   ├───[email protected] (*)
│   └───re2@2024-07-02
...

CMake 支持

与 Bazel 相比,我们的 CMake 支持是尽力而为的。要检查支持情况,请尝试以下步骤

  1. 运行 cmake . 命令。
  2. 打开 _deps/absl-src/CMakeLists.txt

查找以下行

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