2019년 3월 25일 월요일

[Android] NDK standalone toolchain을 생성하기

#android #ndk #standalon #toolchain

Android 7.x 기준으로 NDK standalone toolchain을 생성하는 방법을 정리한다.

1. Android NDK 다운로드 후 압축
 : 문서를 작성중인 현재 stable 버전은 r16b이다.
- https://developer.android.com/ndk/downloads/

2. standalone toolchain 생성
$ cd android-ndk
$ make-standalone-toolchain.sh --verbose --toolchain=arm-linux-androideabi-4.9  --package-dir=/home/sisbsoma/toolchain --platform=android-26 --arch=arm

HOST_OS=linux
HOST_EXE=
HOST_ARCH=x86_64
HOST_TAG=linux-x86_64
HOST_NUM_CPUS=8
BUILD_NUM_CPUS=16
## COMMAND: python /opt/android-sdk/ndk-bundle/build/tools/make_standalone_toolchain.py --arch arm --api 26 --stl gnustl --package-dir=/home/sisbsoma/toolchain

정상적으로 생성된 경우 아래와 같은 로그가 출력된다.
Package installed to /home/sisbsoma/toolchain.

생성된 이미지는 tar.bz2 형태로 압축되어 있다.
$ cd /home/sisbsoma/toolchain && ls
arm-linux-androideabi.tar.bz2

-----------------------------------------------------------------------------------------------------------------------
ex) FFTW-3.3.3 을 standalone toolchain 을 사용하여 컴파일 하는 방법

configure -> make -> make install

$ ./configure CC=$HOME/ndk-toolchain-gingerbread/bin/arm-linux-androideabi-gcc CXX=$HOME/ndk-toolchain-gingerbread/bin/arm-linux-androideabi-g++ CPPFLAGS=-I$HOME/ndk-toolchain-gingerbread/include LDFLAGS="-Wl,-rpath-link=$HOME/ndk-toolchain/lib -L$HOME/ndk-toolchain-gingerbread/lib" --host=arm-eabi --disable-fortran --prefix=$HOME/Downloads/fftw-3.3.3/lib-out
$make
$make install

-ref : https://plus.google.com/109848742745880085168/posts/QHawrqbfMFA

댓글 없음:

댓글 쓰기