NDK环境搭建

下载
curl http://dl.google.com/android/ndk/android-ndk-r10e-linux-x86_64.bin --output /opt/android-ndk-r10e-linux-x86_64.bin

解压
chmod +x /opt/android-ndk-r10e-linux-x86_64.bin
cd /opt
./android-ndk-r10e-linux-x86_64.bin

导出环境变量
export NDK=xxxx



$NDK/build/tools/make-standalone-toolchain.sh --platform=android-5 --install-dir=/home/delphi/software/ndk/my-android-tool-chain --arch=[arm/x86]
 如果不加 --install-dir 选项,则会创建 /tmp/ndk/<toolchain-name>.tar.bz2。
(执行 make-standalone-toolchain.sh --help 查看帮助。)

运行之后,这样使用:

$ export PATH=/tmp/my-android-toolchain/bin:$PATH

$ export CC=arm-linux-androideabi-gcc

$ export CXX=arm-linux-androideabi-g++

$ export CXXFLAGS="-lstdc++"

执行完以上设置环境变量的命令之后,就可以直接编译了(例如,执行 ./configure 然后 make 得到的就是 arm 程序了)。不用再设定 sysroot, CC 了。而且,可以使用 STL,异常,RTTI。


ABI 兼容性

     ndk 同时支持 arm5 和 arm7,一般只用 arm5就好了。arm7是高端一点的,NDK 默认也是 arm5 。

     推荐加上 -mthumb 选项给gcc,来生成 16-bit Thumb-1 指令。

     如果要用 arm7,可以设定 CFLAGS='-march=armv7-a -mfloat-abi=softfp', 使用 Thumb-2 指令,且这两个选项不能分开!




这是例子 是例子 例子

export PATH=/home/delphi/software/ndk/my-android-tool-chain/bin:$PATH
export CC=arm-linux-androideabi-gcc
export CXX=arm-linux-androideabi-g++
export LD=arm-linux-androideabi-ld
export AR=arm-linux-androideabi-ar
export RANLIB=arm-linux-androideabi-gcc-ranlib
export AS=arm-linux-androideabi-as

export CFLAGS="-mfloat-abi=softfp -mfpu=neon -fPIC"
export CXXFLAGS="-mfloat-abi=softfp -mfpu=neon -lstdc++ -fPIC"

make uninstall
make clean
rm -rf android_build/*
./configure --prefix=/home/delphi/projects/cpp/speexdsp-1.2rc3/android_build \
    --host=arm-linux-androideabi \
    --disable-static \
    --enable-shared  \

#    --enable-neon \


make
make install

ls -al --color='auto' android_build/lib

 

转载于:https://my.oschina.net/mingyuejingque/blog/1816387

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值