PotterSu / ceres-android

This is Google No-Linear Solver Ceres library for Android platform(include suite-sparse)
Other
9 stars 2 forks source link

Gist explaining steps to generate libceres.so on MacOS M1 #2

Open vemarav opened 7 months ago

vemarav commented 7 months ago

https://gist.github.com/vemarav/73cb1745533d1520c588fb4c04ea6b4a

STEP 1

git clone https://ceres-solver.googlesource.com/ceres-solver

STEP 2

cd ceres-solver
mkdir build_lib
cd build_lib
cmake ..
make
# it will print paths for google glog, eigen3, sparse etc, we will use them for android build

STEP 3

cd /path/to/ceres-solver # cloned directory
mkdir build_android_armeabi-v7a
cd build_android_armeabi-v7a
cmake -DCMAKE_TOOLCHAIN_FILE=$HOME/Library/Android/sdk/ndk/25.1.8937393/build/cmake/android.toolchain.cmake \
    -DBUILD_SHARED_LIBS=ON \
    -DANDROID_STL=c++_shared \
    -DANDROID_ABI=armeabi-v7a \
    -DANDROID_NATIVE_API_LEVEL=android-28 \
    -DEigen3_DIR=/opt/homebrew/share/eigen3/cmake \
    -DMINIGLOG=ON \
    ..
make
# Now you can find libceres.so inside libs folder

STEP 4

cd /path/to/ceres-solver # cloned directory
mkdir build_android_arm64_v8a
cd build_android_arm64_v8a
cmake -DCMAKE_TOOLCHAIN_FILE=/Users/vemarav/Library/Android/sdk/ndk/25.1.8937393/build/cmake/android.toolchain.cmake \
    -DBUILD_SHARED_LIBS=ON \
    -DANDROID_STL=c++_shared \
    -DANDROID_ABI=arm64-v8a \
    -DANDROID_NATIVE_API_LEVEL=android-28 \
    -DEigen3_DIR=/opt/homebrew/share/eigen3/cmake \
    -DMINIGLOG=ON \
    ..
make
# Now you can find libceres.so inside libs folder
PotterSu commented 7 months ago

这是来自QQ邮箱的假期自动回复邮件。   您好,您的邮件我已收到。我将在短时间内,尽快给您回复。如有急事请拨打18646308557