Ubuntu 上编译protobuf 指

欢迎大家关注我的B站主页MYVision_MY视界的个人空间-MYVision_MY视界个人主页-哔哩哔哩视频

 

下载protobuf 

GitHub - protocolbuffers/protobuf: Protocol Buffers - Google's data interchange format

 根据需要从release 中下载指定的版本

下载完之后,根据提供的CMake install readme 文件,来执行命令,如下所示

Ubuntu 上编译protobuf 指_第1张图片

但是,当你执行cmake . 的时候,你会毫无悬念的看到如下错误

CMake Error at third_party/utf8_range/CMakeLists.txt:31 (add_subdirectory):protobuf-23.4/third_party/abseil-cpp does not contain a CMakeLists.txt file.

然后,你去github 上搜,发现他们有如下回答

Ubuntu 上编译protobuf 指_第2张图片

 于是,你要手动编译abseil-cpp ,当然你也可以直接安装

编译abseil-cpp

下载地址为:https://github.com/abseil/abseil-cpp

下载之后,参考如下说明

Ubuntu 上编译protobuf 指_第3张图片

cmake -DABSL_BUILD_TESTING=ON -DABSL_USE_GOOGLETEST_HEAD=ON -DCMAKE_CXX_STANDARD=14 ..

 然后就能编译成功了,然后运行make install DESTDIR=youpath 把它安装到指定目录下

Build protobuf

运行如下命令

cmake . -Dprotobuf_ABSL_PROVIDER=package and -DCMAKE_PREFIX_PATH=yourpath/abseil_install  # Path to where I installed Abseil

然后就成功了


你可能感兴趣的:(Linux,CMake,ubuntu,linux,运维)