准备
官方安装教程: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
开始编译
- 进入ceres源代码目录下的
jni
目录 - 编辑
Application.mk
,增加想要的APP_ABI
:APP_ABI := armeabi-v7a arm64-v8a
,同时留意APP_STL := c++_static
,因为最新版本的NDK(>=r18)已经放弃支持gunstl
的支持,所以建议用c++_static
- 在
jni
目录执行ndk-build
,我具体的命令:
EIGEN_PATH=/home/vell/下载/eigen-3.2.10 /home/vell/Android/Sdk/android-ndk-r16b/ndk-build
- 在
/home/vell/下载/ceres-solver-1.14.0/obj/local
目录下找到对应的libceres.a
网友评论