Abseil-Unterstützung
Die C++-Implementierung von Protocol Buffers hat eine explizite Abhängigkeit von Abseil.
In Version 22.x hat C++ protobuf eine explizite Abhängigkeit von Abseil hinzugefügt.
Bazel-Unterstützung
Wenn Sie Bazel verwenden, können Sie die Version von Abseil, die Ihre Protobuf-Version unterstützt, mit dem Befehl bazel mod ermitteln.
$ 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 gibt die vollständige Ausgabe aus
$ 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-Unterstützung
Unsere CMake-Unterstützung ist im Vergleich zu Bazel "Best Effort". Um die Unterstützung zu überprüfen, versuchen Sie die folgenden Schritte:
- Führen Sie den Befehl
cmake .aus. - Öffnen Sie
_deps/absl-src/CMakeLists.txt.
Suchen Sie nach der folgenden Zeile
project(absl LANGUAGES CXX VERSION 20240722)
set(ABSL_SOVERSION "2407.0.0")
include(CTest)