利用protobuf协议的可扩展性比较方便进行协议兼容升级,利用rpc接口的网络易用性,不需要再从头到尾实现一遍socket通信、通信接口设计,只需要实现C函数接口设计和开发以及利用proto设计好交互协议即可,并且具备一定的跨编程语言交互特性,每个具备联网能力的嵌入式设备都可作为rpc客户端和服务端,可以快速进行嵌入式设备业务...
生成对应的 xxx.pb.h 和 xxx.pb.cc 两个文件,可将这两个文件放入需要集成的代码中(包括交叉编译生成的头文件include) 3、通过生成的类 CExample 定义变量,设置对应的值,如: CExample *pInfo = new CExample(); pInfo->set_stringdesc("test"); // 赋值printf("info: %s\n", pInfo->DebugString()...
一、PC上安装protobuf和protobuf-c 1. 安装protobuf 2. 安装protobuf-c 二、交叉编译protobuf-c库 三、protobuf 试用 一、PC上安装protobuf和protobuf-c 1. 安装protobuf protocolbuffers 仓库地址 :github.com/protocolbuff 本文选择下载 v21.12版本(太新版本 protobuf-c可能不支持) $ cd protobuf-21.12 ...
而protobuf-c生成了编译需要用到的动态库,此处我们需要编译ARM架构的动态库。即我们本篇笔记需要做的事情是: (1)交叉编译protobuf-c 首先在protobuf-c目录下使用make clean命令清除我们之前编译得到的东西: 输入如下命令生成交叉编译的Makefile文件: 左右滑动查看全部代码>>> ./configure --host=arm-linux-gnueabih...
(1)交叉编译protobuf-c 首先在protobuf-c目录下使用make clean命令清除我们之前编译得到的东西: 输入如下命令生成交叉编译的Makefile文件: ./configure--host=arm-linux-gnueabihf CC=/home/book/ToolChain/gcc-arm-linux-gnueabihf-6.2.1/bin/arm-linux-gnueabihf-gcc CXX=/home/book/ToolChain/gcc-arm-linux-gnu...
下面开始交叉编译: export PATH=$PATH:/home/yang/b503/ctools/gcc-linaro-arm-linux-gnueabihf-4.9-2014.09_linux/bin 先把交叉编译链添加到当前的环境变量里, 然后配置configure, 我的配置如下: CC=arm-linux-gnueabihf-gcc CXX=arm-linux-gnueabihf-g++ ./configure --prefix=/home/linux/arm/protobuf --ho...
目标是使用android ndk的工具链编译出android armeabi-v7a可用的protobuf库。 交叉编译环境配置 windows 平台 下载NDK x86_64或者NDK x86并解压缩 下载protobuf 源代码。这里以protobuf 3.4.1举例。 下载并安装最新的cmake 3.10 x86_64或者cmake 3.10 x86。
注意:toolchain.cmake是一个描述交叉编译环境的CMake工具链文件,你需要根据你的交叉编译环境来编写它。这个文件通常指定了编译器、链接器和其他工具的路径。 3. 执行protobuf交叉编译命令 在配置完成后,使用make命令进行编译: bash make 编译完成后,你会在src/目录下找到生成的protoc二进制文件和库文件(如libproto...
可能是由于以下几个原因导致的: 1. 版本不兼容:不同的protobuf版本之间可能存在语法差异,导致在交叉编译时出现语法错误。解决方法是确保编译环境和目标平台上的protobuf版本一致,并且使用...
会生成 /usr/local/bin/protoc-c 和 /usr/local/bin/protoc-gen-c ,用于根据.proto 生成 c 源码。 二、交叉编译protobuf-c库 #重新进入 protobuf-c 目录 $makeclean #清除之前的配置 $ ./configure --host=arm-none-linux-gnueabihf CC=arm-none-linux-gnueabihf-gccCXX=arm-none-linux-gnueabihf-g++ ...