什么是protobuf-c
之前的文章:Protobuf:一种更小、更快、更高效的协议详细介绍了protobuf及protobuf-c。这里再简单提一下:
Protocol Buffers
,是Google公司开发的一种数据格式,类似于XML能够将结构化数据序列化,可用于数据存储、通信协议等方面。protobuf支持一些主流的语言,唯独没有支持C,所以诞生了第三方的protobuf-c。
之前文章介绍了protobuf、protobuf-c在PC平台上的安装及使用,本篇笔记我们来把它用在我们的嵌入式ARM平台。
交叉编译protobuf-c
之前的文章中我们已经把protobuf、protobuf-c安装在我们的PC环境中了:
我们简单回顾一下我们上一篇文章的大致内容:
从中我们知道,这里的protobuf的主要作用是生成了protoc工具,而protoc工具的作用是把.proto文件生成对应的C源、头文件,这个过程是与平台无关的,所以这里我们可以接着用。而protobuf-c生成了编译需要用到的动态库,此处我们需要编译ARM架构的动态库。即我们本篇笔记需要做的事情是:
(1)交叉编译protobuf-c
首先在protobuf-c目录下使用make clean
命令清除我们之前编译得到的东西:
输入如下命令生成交叉编译的Makefile文件:
./configure --host=arm-linux-gnueabihf CC=/home/book/ToolChain/gcc-arm-linux-gnueabihf-6.2.1