如何以编程方式获取 gRPC / protobuf 版本?

How to get gRPC / protobuf version programmatically?

是否有 API 来了解 gRPC/protobuf 版本或 git 提交哈希?我们希望将这些包含在我们的 C++ 应用程序的 --version 信息中。

文件gRPC-Core.podspecgRPC-C++.podspecProtobuf-C++.podspec等。确实有这些信息;想知道是否可以在不解析这些文件的情况下提取相同的内容。

gRPC 在其 API:

中公开版本

const GRPCAPI char* grpc_version_string ( void )

对于 C++ 实现,<grpcpp/grpcpp.h> header 中似乎有以下方法:

std::string grpc::Version()

对于 protobufGOOGLE_PROTOBUF_VERSION 是其版本的整数值 & 可以使用以下 API:

std::string google::protobuf::internal::VersionString(int version)