本文参考其他大神的博客,在此声明。
Apollo中的消息,使用的是Google的protobuf,这里说明下其安装步骤,虽说官方给的docker里面有,但是详细的了解下总是没错的。
安装依赖包
使用sudo aptitude install 依次安装依赖包
sudo aptitude install g++ git automake libtool libgc-dev bison flex libfl-dev libgmp-dev libboost-dev libboost-iostreams-dev pkg-config python python-scapy python-ipaddr tcpdump cmake autoconf curl make unzip
若安装过程中出现依赖冲突的问题,选择aptitude合适的解决方案即可。
安装Protocol Buffers
下载Protocol Buffers 3.5.0版本源码 (新版本安装过程中有解决不了的问题,故放弃使用)
https://github.com/protocolbuffers/protobuf/releases/tag/v3.5.0
使用unzip解压源码进入其根目录
依次运行
./autogen.sh
./configure --prefix=/usr/local/
sudo make
sudo make check
若./configure过程中出现警告
configure: WARNING: no configuration information is in third_party/googletest
是由于墙Google缺失文件
在 https://github.com/google/googletest/releases
下载解压后改名为googletest并将其放入路径
/protobuf-3.5.0/third-party==
无误后运行make check显示如下,表示单元测试已经通过
运行
sudo make install
运行
protoc --version
报错 protoc: error while loading shared libraries: libprotoc.so.15: cannot open shared object file: No such file or directory
解决方法:
进入/etc/ld.so.conf.d目录下,使用sudo touch libprotobuf.conf命令创建libprotobuf.conf文件
使用Vim编辑libprotobuf.conf,插入内容:/usr/local/lib
运行
sudo ldconfig
注:无论是否报错都需要运行
再运行protoc --version 安装成功!