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 支持
与 Bazel 相比,我们对 CMake 的支持是尽力而为的。要检查支持情况,请尝试以下步骤:
- 运行
cmake .
命令。 - 打开
_deps/absl-src/CMakeLists.txt
。
查找下面这一行
project(absl LANGUAGES CXX VERSION 20240722)
set(ABSL_SOVERSION "2407.0.0")
include(CTest)