# Tez源码编译
# 编译需要安装protobuf-2.5.0
# 这里介绍Linux下安装protobuf-2.5.0
root@kylin:~/wget# wget -c https://github.com/protocolbuffers/protobuf/archive/v2.5.0.tar.gz
root@kylin:~/wget# mkdir /opt/protobuf
root@kylin:~/wget# mv v2.5.0.tar.gz protobuf-v2.5.0.tar.gz
root@kylin:~/wget# tar -zxf protobuf-v2.5.0.tar.gz -C /opt/protobuf
root@kylin:~/wget# cd /opt/protobuf
root@kylin:/opt/protobuf# ln -s protobuf-2.5.0 current
root@kylin:/opt/protobuf# cd current
#执行 $ ./autogen.sh 生成configure文件
root@kylin:/opt/protobuf/current# ./autogen.sh
#注意autogen.sh 需要gtest包,默认是从 googletest.googlecode.com下载,国内需要翻墙才能访问,很多人问autogen.sh运行失败,这里我补充一下
#修改一下autogen.sh
#将这段:
echo "Google Test not present. Fetching gtest-1.5.0 from the web..."
curl http://googletest.googlecode.com/files/gtest-1.5.0.tar.bz2 | tar jx
mv gtest-1.5.0 gtest
#修改为:
wget https://github.com/google/googletest/archive/release-1.5.0.tar.gz
tar xzvf release-1.5.0.tar.gz
mv googletest-release-1.5.0 gtest
root@kylin:/opt/protobuf/current# vim autogen.sh
root@kylin:/opt/protobuf/current# ./autogen.sh
#自定义路径安装
root@kylin:/opt/protobuf/current# ./configure --prefix=/usr/local/protobuf
root@kylin:/opt/protobuf/current# make && make install
root@kylin:/opt/protobuf/current# vim /etc/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/
######################################
---
root@kylin:/opt/protobuf/current# source /etc/profile
root@kylin:~# protoc --version
libprotoc 3.13.0
#由于之前安装的是3.13.0
root@kylin:~# whereis protoc
protoc: /usr/local/bin/protoc /usr/local/protobuf/bin/protoc
root@kylin:~# cd /usr/local/bin/
root@kylin:/usr/local/bin# ll | grep protoc
total 11920
-rwxr-xr-x 1 root root 443768 Nov 6 18:20 protoc*
root@kylin:/usr/local/bin# mv protoc protoc-3.13.0
root@kylin:/usr/local/bin# ln -s /usr/local/protobuf/bin/protoc protoc
root@kylin:/usr/local/bin# ll | grep protoc
total 11920
lrwxrwxrwx 1 root root 30 Nov 24 11:22 protoc -> /usr/local/protobuf/bin/protoc*
-rwxr-xr-x 1 root root 443768 Nov 6 18:20 protoc-3.13.0*
root@kylin:/usr/local/bin# protoc --version
libprotoc 2.5.0
Linux下安装google protobuf-v2.5.0
最新推荐文章于 2023-12-13 20:01:38 发布