编译前配置
安装依赖库:automake
,autoconf
,libtool
。
解压源码,例如:protobuf-3.11.4.zip
到目录/home/workspace/protobuf-3.11.4
,通过终端进入,输入命令:
./autogen.sh
生成configure
文件。
在父目录创建构建目录,例如:/home/workspace/protobuf-build
,通过终端进入构建目录,输入命令:
./../protobuf-3.11.4/configure \
-host=arm-linux \
--with-protoc=/opt/protobuf-3.11.4-linux/bin/protoc \
CC=/opt/poky/1.7/sysroots/x86_64-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi-gcc \
CXX=/opt/poky/1.7/sysroots/x86_64-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi-g++ \
--prefix=/opt/protobuf-3.11.4-arm
src/README.md
里提到,在交叉编译时需要加上选项--with-protoc
,至于它的值要指向protoc
所在的路径,且版本要和源码版本一直,不然会出错。
编译源码
配置成功后,输入命令:make
,成功后,输入命令:make install
,即可把protobuf库安装到目录:/opt/protobuf-3.11.4-arm
。