protobuf 中 examples的编译 cpp和python

原创 2013年04月16日 21:03:24

花费了几个小时,终于搞定了protobuf中examples的编译,只有cpp和python模块。
下载protobuf的代码后,执行了protobuf的安装,然后进入examples的目录。


make python还好,只要安装了protobuf中的python内容就可以了,但是make cpp的修改就费了一番周折。
执行make cpp后,显示报这个错误:

protoc --cpp_out=. --java_out=. --python_out=. addressbook.proto
pkg-config --cflags protobuf  # fails if protobuf is not installed
Package protobuf was not found in the pkg-config search path.
Perhaps you should add the directory containing `protobuf.pc'
to the PKG_CONFIG_PATH environment variable
No package 'protobuf' found


发现没有设置PKG_CONFIG_PATH,于是设置一下:
export PKG_CONFIG_PATH=/home/install_protobuf_path/lib/pkgconfig/


  
然后执行make cpp成功,但是因为我的安装路径不是用的默认的,而是自己的一个目录,导致找不到动态库libprotobuf.so.8。
只好把编译条件改为静态链接.a文件,这样才ok了。
protoc --cpp_out=. addressbook.proto
c++ add_person.cc addressbook.pb.cc -o add_person_cpp -pthread -I/home/install_protobuf_path/include -pthread -L/home/install_protobuf_path/lib -static -lprotobuf -lpthread
c++ list_people.cc addressbook.pb.cc -o add_person_cpp -pthread -I/home/install_protobuf_path/include -pthread -L/home/install_protobuf_path/lib -static -lprotobuf -lpthread  

如果将so放在系统指定的lib目录下当然最好,可是因为我要修改protobuf,所以不想直接放到系统目录下,修改环境变量LD_LIBRARY_PATH也是可以的,但是我还是向最小的影响系统环境。所以就采用静态链接的方式了。

版权声明:本文为博主原创文章,未经博主允许不得转载。

Google-Protocol Buffer例子编译问题

1,报错问题:packgage protobuf was not found in the pkg-config search path.                         perhap...
  • yychenxie21
  • yychenxie21
  • 2016年06月22日 15:04
  • 2996

PKG_CONFIG_PATH错误提示解决办法

linux里的解决办法,留着做参考 http://forum.ubuntu.org.cn/viewtopic.php?f=33&t=118762 为什么我还是有一些包提示没有啊? N...
  • ubuntulover
  • ubuntulover
  • 2011年11月16日 19:51
  • 24859

protobuf-c的使用(一)构建

protobuf很出名,是google开发的序列化库,很多公司都使用它作为接口的数据结构。地址:https://developers.google.com/protocol-buffers/ 支持j...
  • kid_2412
  • kid_2412
  • 2016年08月22日 13:48
  • 3257

Protocol Buffer 学习笔记

今天准备用Protobuf做一些序列化 下载的版本是 3.2.0 https://github.com/google/protobuf/releases/download/v3.2.0/protobu...
  • wind19
  • wind19
  • 2017年03月07日 14:07
  • 1967

protobuf c++入门

1、在.proto文件中定义消息格式 2、使用protobuf编译器 3、使用c++ api来读写消息 0、为何使用protobuf? 1、原始内存数据结构,可以以二进制方式sent/saved....
  • educast
  • educast
  • 2014年04月30日 08:03
  • 10362

protobuf c++客户端/服务器例子

转自:http://www.cnblogs.com/ghost240/archive/2012/07/04/2577054.html 1, people.proto  packag...
  • u014538198
  • u014538198
  • 2017年05月17日 15:08
  • 1448

Protobuf编译及学习

protobuf源码C++版本 可以从protobuf-3.10下载, 解压进入cmake目录然后使用cmake生成项目解决方案编译。 examples目录包含一些例子,可以学习。 要使用Protob...
  • wenyu826
  • wenyu826
  • 2017年01月05日 16:33
  • 450

使用NDK编译Google Protocol Buffer

NDK编译c++代码的流程请参考别处。只要配置好了NDK的环境,那个jni文件夹建立在Android studio或者eclipse等开发工具建立的工程中不是必要的。关键是两个文件的内容:Applic...
  • saga1979
  • saga1979
  • 2015年08月31日 18:26
  • 1596

protobuf-cpp-3.1.0.tar.gz 下载

  • 2017年02月13日 18:51
  • 3.92MB
  • 下载

protobuf c++应用<一>

1.下载protobuff,我下的是2.3.0版本 最新的protobuf可以到Google Code上下载:http://code.google.com/p/protobuf/downloads/...
  • gumingyaotangwei
  • gumingyaotangwei
  • 2013年01月07日 11:32
  • 6457
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:protobuf 中 examples的编译 cpp和python
举报原因:
原因补充:

(最多只允许输入30个字)