下载源码
github根据需要下载需要的版本号,这里给出3.11.4的链接:https://github.com/protocolbuffers/protobuf/releases/tag/v3.11.4
推荐下载cpp版本:protobuf-cpp-3.11.4.tar.gz
如果下载的是Source code(tar.gz)
,需要运行./autogen.sh
来生成configure
,而cpp版本直接提供了configure
;另外,Source code(tar.gz)
需要额外下载googletest的源码解压放在thirdparty文件夹下,安装时容易出现googletest和protobuf版本不匹配等问题,比较麻烦。
此外,也可以通过git clone https://github.com/protocolbuffers/protobuf
下载最新的源码,然后通过git submodule update --init --recursive
来获取googletest,但是这种方法速度较慢,所以没有采取此方法。
安装
依次输入:
./configure
make -j8
make check
sudo make install
其中,./configure
可以通过参数来制定安装位置,如
./configure --prefix=[path]
[path]换成指定的位置
推荐安装到/usr
下,这样会和apt-get 安装libprotobuf-dev安装到同一位置,很多用CMake组织的代码其.cmake
文件会去usr/bin/
下查找protobuf
默认情况下,可执行文件放在/usr/local/bin,库文件放在/usr/local/lib,配置文件放在/usr/local/etc。其他的资源文件放在/usr/local/share。如果指定了安装位置,则都会装在一个文件夹。
添加环境变量
vi ~/.bashrc
文件尾部写入
# protobuf
export PATH="$PATH:/usr/local/bin"
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/lib"
路径根据自己安装位置修改
然后
source ~/.bashrc
卸载
在原来make目录下:
make uninstall
或者手动删除