安装protobuf
安装protobuf3(要先安装protobuf2.6.1以上的版本后,才能正常编译出protobuf-c的bin、lib等),这里安装的是Protobuf3.6.1
wget https://github.com/google/protobuf/releases/download/v3.6.1/protobuf-all-3.6.1.tar.gz
tar xvf protobuf-all-3.6.1.tar.gz
cd protobuf-3.6.1
./configure
make
make check
make install
安装完成后验证,终端执行
protoc --version
安装protobuf-c
wget https://github.com/protobuf-c/protobuf-c/releases/download/v1.4.1/protobuf-c-1.4.1.tar.gz
tar xvf protobuf-c-1.4.1.tar.gz
cd protobuf-c-1.4.1
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig // 指定protobuf.pc文件所在
./configure
make
make install
如果没有使用export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig,在./configure这步可能会报错:
No package 'protobuf' found
这是因为Makefile中会用pkg-config命令检测环境变量,但是没有设置PKG_CONFIG_PATH,找不到protobuf.pc这个文件。
protobuf-c的使用
编写.proto文件,如test.proto
可以在test.proto所在的文件夹,终端执行
protoc-c -I=. --c_out=. ./test.proto
将自动生成test.pb-c.c和test.pb-c.h文件