1、下载protobuf, protobuf-all-3.5.1.tar.gz 压缩文件
https://github.com/google/protobuf/releases2、解压安装
tar -zxvf protobuf-2.6.1.tar.gz cd protobuf-2.6.1/ ./configure --prefix=/usr/local/protobuf make make check sudo make install protoc --version3、配置库路径
(1)打开profile文件
vim /etc/profile(2)在该文件最后添加环境变量
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 export PKG_CONFIG_PATH=/usr/local/protobuf/lib/pkgconfig/
(3)让配置文件生效
source /etc/profile
4、测试程序
以下是我写的一个测试程序makefile,其中包含了protobuf的编译使用
proj_name=service_com service_com_src=$(wildcard ./*.cc) net_src=$(wildcard ../net/*.cc) protos_src=$(wildcard ../../protos/bin/cpp/*.cc) service_com_obj=$(patsubst %.cc, %.o,$(service_com_src)) net_obj=$(patsubst %.cc, %.o, $(net_src)) protos_obj=$(patsubst %.cc, %.o, $(protos_src)) net_inc=-I../net third_inc=-I../third-party/threadpool protos_inc=-I../../protos/bin/cpp protobuf_inc=-I/usr/local/protobuf/include target=$(proj_name) $(target):$(service_com_obj) $(net_obj) $(protos_obj) gcc $^ `pkg-config --cflags --libs protobuf` -lstdc++ -lpthread -o $@ %.o:%.cc gcc -c $< $(net_inc) $(third_inc) $(protos_inc) $(protobuf_inc) -std=c++11 -o $@ .PHONY:clean clean: -rm $(service_com_obj) -f -rm $(net_obj) -f -rm $(protos_obj) -f