Centos6.4下安装protobuf-c问题及解决办法

1、前言

  protobuf是Google提供的结构持久化工具,类型XML,但要比XML更加灵活,效率要高。protobuf当初支持C++、JAVA和Python,后来有了支持C语言的Protobuf-c。关于prorobuf可以参考:https://code.google.com/p/protobuf/https://code.google.com/p/protobuf-c/

2、安装protobuf-c问题

  今天从google官方网站上面下载了protobuf-c,解压进行安装,在执行./configure时候出现错误:

错误提示:protobuf headers are required.

解决办法:安装完整的protobuf,安装在默认的路径。下载完整的protobuf安装,下载地址:https://code.google.com/p/protobuf/downloads/list。网上所示的解决办法如下所示:

https://code.google.com/p/protobuf-c/issues/detail?id=88

https://code.google.com/p/protobuf-c/issues/detail?id=44

安装完protobuf后,再在protobuf-c目录下执行./configure执行成功,但是make时候出现错误:

protoc: error while loading shared libraries: libprotoc.so.8: cannot open shared
错误原因:
protobuf的默认安装路径是/usr/local/lib,而/usr/local/lib 不在Linux体系默认的 LD_LIBRARY_PATH 里,所以就找不到该lib
解决方法:
创建文件 /etc/ld.so.conf.d/libprotobuf.conf 包含内容:

保持退出,然后执行. 输入命令 sudo ldconfig。ldconfig命令参考:http://hi.baidu.com/linuxlife/item/94a6c096a1e4184af0421569

参考:http://blog.csdn.net/xocoder/article/details/9155901

make成功,make install  成功。

测试程序:写一个proto,文件命名为:dmessage.proto ,内容如下:

用protoc-c编译生成.h和.c文件如下:protoc-c --c_out=.  dmessage.proto 

原文地址:https://www.cnblogs.com/Anker/p/3351822.html