在这里具体的使用我不写了,可以参考下面接个连接,我只记录自己遇到的问题。

https://www.cnblogs.com/autyinjing/p/6495103.html(此博客很详细,不过最好不要下载博客中给的源码,最好下载2版本,介绍看下面)

源码下载连接:https://sourceforge.net/projects/protobuf/   可以下载2.6的版本,已经试过,没问题。

接下来避雷区

1.不要用3版本,因为在与c++代码一块编译时出现的错误比代码还多,具体原因我还不知道,后来还了2版本就没问题啦,编译步骤可以参考上面的博客。

2.编译完成后命令、头文件等分别在/usr/local/bin 、/usr/local/include 、/usr/local/lib 中

3.这时在和c++文件编译链接的时候没有报错了,但是在执行的时候出现找不到动态库的错误,如下图:

解决办法:执行命令export LD_LIBRARY_PATH=/usr/local/lib到此就可以正常执行了,不过export只是临时测试,新的终端或者其同重启都会失效,要想长期有效,可以修改如下变量

  打开~/.bashrc 或者/etc/bashrc文件,在最后加入export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib即可

4.文件编译命令

  4.1  .proto文件的编译

     protoc -I=/home/edan/test/protobuf/ --cpp_out=/home/edan/soft/protobuf-2.6.0  /home/edan/test/protobuf/addressbook.proto

    -I=“.proto文件存放的路径”

    -cpp_out= “输出的cpp文件存放的路径”

        “.proto的源码路径”

更新:

因项目需要,必须用3版本的protobuf,于是又卸载重新安装,安装的3.6.1的版本是可以用的,只是protobuf安装后需要将path路径,库所在路径,在/etc/profile中进行添加,并重启系统,然后安装protobuf-c,否则会报错,如果出现没有找到protobuf的头文件,那是配置的问题,在/etc/profile中添加"export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig/  "

protobuf-c安装完毕后同protobuf加入路径,并重启系统

///////etc/profile需要添加的代码

 ////protobuf的配置路径
export LD_LIBRARY_PATH=/usr/lib export PATH=$PATH:/usr/local/protobuf/bin/
export C_INCLUDE_PATH=$C_INCLUDE_PATH:/usr/local/protobuf/include/
export CPLUS_INCLUDE_PATH=$CPLUS_INCLUDE_PATH:/usr/local/protobuf/include export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig/ //protobuf-c的配置路径
export PATH=$PATH:/usr/local/protobuf-c/bin/
export C_INCLUDE_PATH=$C_INCLUDE_PATH:/usr/local/protobuf-c/include/

最新文章

  1. devexpress layoutcontrol 自动生成布局示例代码
  2. IT小喇叭,关注于移动互联网创新、创业的科技媒体
  3. Android -- 背景虚化
  4. 1. WP8.1学习笔记
  5. static和extern的区别
  6. Windows8 正式版最简单的去除桌面水印方法
  7. IIS7 常用模块介绍说明
  8. JAVA编程思想——类型信息(反射)
  9. uva - The Lottery(容斥,好题)
  10. IOS开发之IOS8.0最新UIAlertController 分类: ios技术 2015-01-20 14:24 144人阅读 评论(1) 收藏
  11. JavaScript 框架------------AngularJS(上)
  12. 完全卸载hadoop安装的组件(hdp版本)
  13. Redis5.0+哨兵模式+Keepalived实现高可用
  14. .NET CORE控制器里的方法取传参的坑
  15. PostgreSQL Json字段作为查询条件案例
  16. 开发工具|给你的项目买份保险:Python虚拟环境
  17. SpringBoot自定义错误信息,SpringBoot适配Ajax请求
  18. Win7 MinGW环境测试SDL2.0.3
  19. Hadoop 客户端问题
  20. Java-Runoob-高级教程-实例-数组:04. Java 实例 – 数组反转

热门文章

  1. 前端第四篇---前端基础之jQuery
  2. 使用jackson转换类型时报Unrecognized field
  3. HTML布局梳理
  4. POJ 2346:Lucky tickets
  5. PHP ~ 通过程序删除图片,同时删除数据库中的图片数据 和 图片文件
  6. hadoop yarn 实战错误汇总
  7. BZOJ:1878: [SDOI2009]HH的项链
  8. Vulkan SDK 之 Instance
  9. centos系统 通过命名查找需要安装哪个安装包 command not found
  10. Android进阶——多线程系列之异步任务AsyncTask的使用与源码分析