1.首先卸载protobuf,使用命令如下:
sudo yum remove protobuf
2.下载protobuf源,依据自己的需要下载:
2.1下载地址:https://github.com/google/protobuf/releases?after=v3.0.0-alpha-4.1
2.1.1: 比如下载2.5版本:
wget -c https://github.com/google/protobuf/releases/download/v2.5.0/protobuf-2.5.0.tar.gz
2.2下载完成之后,解压,并安装:
几点说明: protobuf默认安装在 /usr/local/ 目录下,但是一般我们使用prefix进行路径修改,--prefix =/usr/local/protobuf
步骤:
$./configure --prefix=/usr/local/protobuf
$ sudo make -j8
$ sudo make check
$ sudo make install
之后配置路径,到此步还没有安装完毕,在/etc/profile 或者用户目录 ~/.bash_profile
命令:
sudo vim /etc/profile
在profile文件中添加下面内容
####### add protobuf lib path ######## #(动态库搜索路径) 程序加载运行期间查找动态链接库时指定除了系统默认路径之外的其他路径 export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/protobuf/lib/ #(静态库搜索路径) 程序编译期间查找动态链接库时指定查找共享库的路径 export LIBRARY_PATH=$LIBRARY_PATH:/usr/local/protobuf/lib/ #执行程序搜索路径 export PATH=$PATH:/usr/local/protobuf/bin/ #c程序头文件搜索路径 export C_INCLUDE_PATH=$C_INCLUDE_PATH:/usr/local/protobuf/include/ #c++程序头文件搜索路径 export CPLUS_INCLUDE_PATH=$CPLUS_INCLUDE_PATH:/usr/local/protobuf/include/ #pkg-config 路径 export PKG_CONFIG_PATH=/usr/local/protobuf/lib/pkgconfig/ ######################################
配置完成之后,执行:
source /etc/profile
查看路径是否生效:
echo $LIBRARY_PATH
然后查看protobuf是否生效,使用如下命令:
protoc --version
但是如果想要在执行的是时候,如果报错这种,
protoc: error while loading shared libraries: libprotobuf.so.8: cannot open shared object file: No such file or directory
需要去你所配置的路径下,如果你使用了prefix=/usr/local/protobuf,则去/usr/local/protobuf/lib 中执行下面的命令,如果是直接使用的./configure ,则去/usr/local/lib下执行这条命令:
sudo ldconfig
执行完之后,就可以可以了.
参考资料:
http://blog.csdn.net/xiexievv/article/details/47396725
https://leveragebigdata.wordpress.com/2015/10/08/install-protocol-buffer-2-5-0/