为Android编译ceres-solver

准备

官方安装教程:http://ceres-solver.org/installation.html
ceres依赖eigen,eigen官网:http://eigen.tuxfamily.org/index.php
ceres最新版是1.14.0(截止2019-02-21),下载地址:http://ceres-solver.org/ceres-solver-1.14.0.tar.gz
ceres1.14.0官方推荐eigen>=3.2.2,我这边下载3.2.10进行编译,下载地址:http://bitbucket.org/eigen/eigen/get/3.2.10.tar.bz2

下载并解压ceres & eigen源码,我对应解压后的目录为:
ceres: /home/vell/下载/ceres-solver-1.14.0
eigen: /home/vell/下载/eigen-3.2.10

ndk-build工具所在目录:
ndk-build: /home/vell/Android/Sdk/android-ndk-r16b/ndk-build

开始编译

  1. 进入ceres源代码目录下的jni目录
  2. 编辑Application.mk,增加想要的APP_ABIAPP_ABI := armeabi-v7a arm64-v8a,同时留意APP_STL := c++_static,因为最新版本的NDK(>=r18)已经放弃支持gunstl的支持,所以建议用c++_static
  3. jni目录执行ndk-build,我具体的命令:
EIGEN_PATH=/home/vell/下载/eigen-3.2.10 /home/vell/Android/Sdk/android-ndk-r16b/ndk-build
  1. /home/vell/下载/ceres-solver-1.14.0/obj/local目录下找到对应的libceres.a

你可能感兴趣的:(为Android编译ceres-solver)