linux下安装protobuf教程+示例(详细)
来源:互联网 发布:spark submit python 编辑:程序博客网 时间:2024/05/19 17:23
1 在网站 http://code.google.com/p/protobuf/downloads/list上可以下载 Protobuf 的源代码。然后解压编译安装便可以使用它了。
(我这里不能翻墙,直接上传了protobuf-2.6.1.zip到服务器上)
安装步骤如下所示:
tar -xzf protobuf-2.1.0.tar.gz
cd protobuf-2.1.0
./configure --prefix=/usr/local/protobuf
make
make check
make install
2 > sudo vim /etc/profile
添加
export PATH=$PATH:/usr/local/protobuf/bin/
export PKG_CONFIG_PATH=/usr/local/protobuf/lib/pkgconfig/
保存执行
source /etc/profile
同时 在~/.profile中添加上面两行代码,否则会出现登录用户找不到protoc命令
3 > 配置动态链接库路径
sudo vim /etc/ld.so.conf
插入:
/usr/local/protobuf/lib
4 > su #root 权限
ldconfig
- #include "msg.pb.h"
- #include <fstream>
- #include <iostream>
- using namespace std;
- int main(void)
- {
- lm::helloworld msg1;
- msg1.set_id(101);
- msg1.set_str("hello");
- fstream output("./log", ios::out | ios::trunc | ios::binary);
- if (!msg1.SerializeToOstream(&output)) {
- cerr << "Failed to write msg." << endl;
- return -1;
- }
- return 0;
- }
编译 write.cc
g++ msg.pb.cc write.cc -o write `pkg-config --cflags --libs protobuf` -lpthread
执行write
./write, 可以看到生成了log文件
7> 写反序列化的进程
reader.cc
- all: write reader
- clean:
- rm -f write reader msg.*.cc msg.*.h *.o log
- proto_msg:
- protoc --cpp_out=. msg.proto
- write: msg.pb.cc write.cc
- g++ msg.pb.cc write.cc -o write `pkg-config --cflags --libs protobuf`
- reader: msg.pb.cc reader.cc
- g++ msg.pb.cc reader.cc -o reader `pkg-config --cflags --libs protobuf`
0 0
- linux下安装protobuf教程+示例(详细)
- linux下安装protobuf教程+示例(详细)
- linux下安装protobuf教程+示例(详细)
- linux下安装protobuf教程+示例(详细)
- linux下安装protobuf教程+示例(详细)
- linux下安装protobuf教程+示例(详细)
- linux下安装protobuf教程+示例(详细)
- linux下安装protobuf教程+示例
- linux下安装protobuf教程+示例
- linux下安装google protobuf(详细)
- linux下安装google protobuf(详细)
- linux下安装protobuf教程
- Linux下安装protobuf
- LINUX下编译安装PROTOBUF
- linux 下安装protobuf-c
- linux下编译安装protobuf
- LINUX下编译安装PROTOBUF
- LINUX下编译安装PROTOBUF
- 文件操作:模拟cp复制功能源码&&文件异步读写
- 单词来了!
- 内存优化,OOM异常处理
- OpenLayers3入门篇-点的扩散效果
- 深入剖析Android音频之AudioTrack
- linux下安装protobuf教程+示例(详细)
- poj 3678 Labeling Balls
- 工厂模式之抽象工厂模式
- xmlpullparser之skip(parser)
- 【POJ】2965 - The Pilots Brothers' refrigerator(dfs & 双端队列 & 思维)
- Android View绘制流程
- web.xml
- 几种协议比较(二)
- 实现单向循环链表的创建、测长、打印、插入、删除及逆置