星期四, 3月 30, 2017
[ Android] Android NDK (二) Build NDK
如何把ndk的source code編譯成一般使用的gcc 來compile??
先把ndk linux version下載下來,
然後在ndk下去找
$NDK/build/tools/make_standalone_toolchain.py
主要是用這隻python來compile出gcc,
然後下這道command,
$NDK/build/tools/make_standalone_toolchain.py --arch arm --api 21 --install-dir /tmp/my-android-toolchain
我要編譯出arm平台的,sdk是21版的,
--install-dir是要放在哪個資料夾內。
然後build完後你可以到bin去看,
就會出現compile出來的gcc。
因為需要export一些變數才行,
所以寫一個簡單的script來compile helloworld ,
之後就可以成功build出binary,
再拿去版子上跑就搞定了。
Note:
遇到的一些問題,
1. error trying to exec 'cc1': execvp: No such file or directory
如果出現這個代表他沒找到ccl這file,
要在PATH裡加上你NDK bin的目錄路徑。
2. error: only position independent executables (PIE) are supported.
如果出現這個訊息,代表你少了fPIE和pie,
在cflags和ldflags上加上這兩個flag,
記得compile時要加上clfags和ldflags。
SourceCode
Ref 1
Ref 2
訂閱:
張貼留言 (Atom)

沒有留言:
張貼留言