Android之protobuf lib库

ndk

wget "https://dl.google.com/android/repository/android-ndk-r16b-linux-x86_64.zip"
arm-21-toolchain-clang-32 & arm-21-toolchain-clang-64准备

protobuf config的时候需要这两个库,用来编译成armeabi-v7a和arm64-v8a的

unzip
cd android-ndk-r16b
toolchain_dir=`pwd`/..  //设置生成路径(当前路径的上级目录)

clang-32

./build/tools/make-standalone-toolchain.sh --arch=arm --platform=android-21 --toolchain=arm-linux-android-clang5.0 --install-dir=$toolchain_dir/arm-21-toolchain-clang-32 --use-llvm --stl=libc++

clang-64

./build/tools/make-standalone-toolchain.sh --arch=arm64 --platform=android-21 --toolchain=arm-linux-android-clang5.0 --install-dir=$toolchain_dir/arm-21-toolchain-clang-64 --use-llvm --stl=libc++

此时就会在刚刚设的路径下生成,如下:
dir

protobuf source Code

git clone https://github.com/protocolbuffers/protobuf.git
git checkout v3.10.1
git submodule update --init --recursive
check
./autogen.sh
生成目录
mkdir -p `pwd`/../libprotobuf/android    //建立生成目录
build armeabi-v7a

建立脚本build_32.sh

export build_dir=`pwd`/../libprotobuf/android
export sysroot=`pwd`/../arm-21-toolchain-clang-32/sysroot   ##前面ndk生成的clang-32路径
export PATH=`pwd`/../arm-21-toolchain-clang-32/bin:$PATH
export CC="arm-linux-androideabi-clang --sysroot $sysroot"
export CXX="arm-linux-androideabi-clang++ --sysroot $sysroot"

./configure \
--host=arm-linux-androideabi \
--with-protoc=protoc \
--with-sysroot="$sysroot" \
--disable-shared \
--prefix="$build_dir/armeabi-v7a" \
--enable-cross-compile \
CFLAGS="-march=armv7-a -D__ANDROID_API__=21" \
CXXFLAGS="-frtti -fexceptions -march=armv7-a -D__ANDROID_API__=21" \
LIBS="-llog -lz -lc++_static"

make -j12
make install

执行

bash build_32.sh

此时armeabi-v7a就会在你指定的输出文件夹下生成

build arm64-v8a

同上build_64.sh

export build_dir=`pwd`/../libprotobuf/android
export sysroot=`pwd`/../arm-21-toolchain-clang-64/sysroot      ##前面ndk生成的clang-64路径
export PATH=`pwd`/../arm-21-toolchain-clang-64/bin:$PATH
export CC="aarch64-linux-android-clang --sysroot $sysroot"
export CXX="aarch64-linux-android-clang++ --sysroot $sysroot"

./configure \
--host=arm-linux-androideabi \
--with-protoc=protoc \
--with-sysroot="$sysroot" \
--disable-shared \
--prefix="$build_dir/arm64-v8a" \
--enable-cross-compile \
CFLAGS="-march=armv8-a -D__ANDROID_API__=21" \
CXXFLAGS="-frtti -fexceptions -march=armv8-a -D__ANDROID_API__=21" \
LIBS="-llog -lz -lc++_static"

make -j12
make install

执行

bash build_64.sh

整理:

mkdir -p ../libprotobuf/android/lib/armeabi-v7a
mkdir -p ../libprotobuf/android/lib/arm64-v8a
cp ../libprotobuf/android/armeabi-v7a/lib/libprotobuf-lite.a ../libprotobuf/android/lib/armeabi-v7a
cp ../libprotobuf/android/arm64-v8a/lib/libprotobuf-lite.a ../libprotobuf/android/lib/arm64-v8a
cp -r ../libprotobuf/android/armeabi-v7a/include ../libprotobuf/android/include
rm -rf ../libprotobuf/android/armeabi-v7a
rm -rf ../libprotobuf/android/arm64-v8a

最后:
tree

最最后,打包好的LIb库

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 安装PaddleLite在树莓派上是一个相对简单的过程,以下为详细的步骤: 1. 首先,为了在树莓派上安装PaddleLite,需要保证树莓派的操作系统是最新的版本。可以使用以下命令来更新操作系统: ``` sudo apt-get update sudo apt-get upgrade ``` 2. 接下来,需要安装相关的依赖。PaddleLite在树莓派上使用的是ARM架构,因此需要使用ARM架构的依赖。运行以下命令来安装运行PaddleLite所需的依赖: ``` sudo apt-get install -y build-essential cmake sudo apt-get install -y git wget cmake-curses-gui sudo apt-get install -y libopenblas-dev libblas-dev sudo apt-get install -y libopenmpi-dev openmpi-bin sudo apt-get install -y libprotobuf-dev protobuf-compiler ``` 3. 当所有的依赖安装完成后,可以开始下载PaddleLite源码。可以通过Git命令将源码克隆到本地: ``` git clone https://github.com/PaddlePaddle/Paddle-Lite.git ``` 4. 进入Paddle-Lite目录,并创建一个构建目录: ``` cd Paddle-Lite mkdir build ``` 5. 进入构建目录,并使用CMake命令进行配置: ``` cd build cmake .. ``` 6. 配置完成后,可以使用make命令来编译PaddleLite: ``` make -j4 ``` 7. 编译完成后,可以使用make install命令来安装PaddleLite: ``` make install ``` 8. 安装完成后,可以使用PaddleLite提供的API来进行模型推理或应用开发。 总结:安装PaddleLite在树莓派上只需几个简单的步骤,首先更新操作系统,安装依赖,然后下载源码,并进行配置、编译和安装。安装完成后,就可以使用PaddleLite进行模型推理或应用开发了。 ### 回答2: 使用PaddleLite在树莓派上安装和配置起来非常简单。下面是一个简单的步骤: 1. 首先,在树莓派上安装Python3。打开终端,运行以下命令进行安装: ``` sudo apt-get install python3 ``` 2. 接下来,安装git工具: ``` sudo apt-get install git ``` 3. 然后,使用以下命令克隆PaddleLite: ``` git clone https://github.com/PaddlePaddle/Paddle-Lite.git ``` 4. 进入Paddle-Lite目录: ``` cd Paddle-Lite ``` 5. 安装所需的Python依赖: ``` sudo pip3 install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple ``` 6. 接下来,运行以下命令编译PaddleLite: ``` bash lite/tools/build.sh \ --arm_os=android \ --arm_abi=armv7 \ --arm_lang=gcc \ --arm_float_abi=softfp ``` 这个命令将会编译PaddleLite框架,并在树莓派上生成相应的软件包。 7. 最后,运行以下命令将PaddleLite安装到树莓派: ``` sudo pip3 install python/dist/lite_python.whl ``` 安装完成后,你就可以在树莓派上使用PaddleLite进行深度学习推理了。 这是在树莓派上安装PaddleLite的简单步骤。希望对你有所帮助! ### 回答3: PaddleLite是百度开源的轻量级深度学习推理框架,用于在移动设备和嵌入式系统上进行推理部署。树莓派是一款低成本、高性能的单板计算机,广泛应用于物联网和嵌入式开发领域。 要在树莓派上安装PaddleLite,可以按照以下步骤进行操作: 1. 确保树莓派已连接到互联网,并使用SSH或VNC等方式远程连接到树莓派的终端界面。 2. 在终端窗口中,首先需要安装PaddlePaddle的依赖。运行以下命令来安装需要的依赖: ``` sudo apt-get update sudo apt-get install -y libopenblas-dev libopencv-dev ``` 3. 下载PaddleLite的源代码,可以从百度AI开源官网上获取最新的源代码压缩包,并将其解压到树莓派的某个路径下。 4. 进入解压后的PaddleLite目录,运行以下命令来编译PaddleLite: ``` cd PaddleLite mkdir build cd build cmake .. make -j4 ``` 5. 编译完成后,在build目录下会生成一个paddle_lite_lib.so文件,这就是PaddleLite文件。 6. 将paddle_lite_lib.so文件安装到系统中,使用以下命令将其复制到/usr/local/lib目录下: ``` sudo cp paddle_lite_lib.so /usr/local/lib ``` 7. 至此,PaddleLite已成功安装到树莓派上。可以运行一个简单的PaddleLite示例程序来验证安装是否成功。 以上是在树莓派上安装PaddleLite的基本步骤。根据树莓派的硬件配置和操作系统版本,可能需要进行一些额外的配置和调整。因此,在进行安装之前,建议查阅PaddleLite和树莓派官方文档,以获取更详细的指导和注意事项。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值