欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Linux跨平台编译安卓版本protobuf库——趟坑记录

程序员文章站 2023-12-28 14:16:40
...

1 目标

源码编译2.6.1版本 android protobuf库

2 准备

2.1 获取protobuf源码

1、下载源码:https://github.com/protocolbuffers/protobuf
获取v2.6.1 tag对应源码;

2、进入protobuf目录,运行:

./autogen.sh

Tip:可能存在错误,提示gtest获取失败;原因2.6.1版本过旧,脚本中的gtest链接已失效;根据提示手动将gtest拷贝到指定位置即可(注意gtest版本)

3、跨平台编译android版本:

mkdir build && cd build
vi build-protobuf-android.sh
build-protobuf-android.sh 内容:

export PREFIX=$HOME/Android/andrc/protobuf-3.5.1-v7a/
export PATH=$HOME/Android/arm-26-toolchain-clang/bin:$PATH
export SYSROOT=$HOME/Android/arm-26-toolchain-clang/sysroot
export CC="arm-linux-androideabi-clang --sysroot $SYSROOT"
export CXX="arm-linux-androideabi-clang++ --sysroot $SYSROOT"
 
../configure \
--prefix=$PREFIX \
--host=arm-linux-androideabi \
--with-sysroot="${SYSROOT}" \
--enable-shared \
--enable-cross-compile \
--with-protoc=protoc \
CFLAGS="-march=armv7-a -D__ANDROID_API__=26" \
CXXFLAGS="-frtti -fexceptions -march=armv7-a -D__ANDROID_API__=26" \
LIBS="-llog -lz -lc++_static"
 
make -j 2
make install

以上命令参数:
–prefix:生成的库安装路径
PATH:android跨平台编译工具链路径

4、执行脚本编译bash build-protobuf-android.sh
编译好后的文件在--prefix指定目录下

上一篇:

下一篇: