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