DK 提供
make-standalone-toolchain.sh
shell 脚本以允许您从命令行执行定制的工具链安装。脚本位于
$NDK/build/tools/
目录中,其中
$NDK
是 NDK 的安装根目录。
此命令创建一个名为 /tmp/my-android-toolchain/ 的目录,包含一个 android-21/arch-arm sysroot 的副本,以及适用于 32 位 ARM 架构的工具链二进制文件的副本。
请注意,工具链二进制文件不依赖或包含主机特有的路径,换句话说,您可以将它们安装在任意位置中,甚至移动它们(如果需要)。
如果不加 --install-dir 选项,则会创建 /tmp/ndk/my-android-toolchain.tar.bz2。将此文件解压到/tmp/my-android-toolchain
然后做如下配置就可以使用交叉编译工具了:
$ 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。
问题1:
ERROR: Failed to create toolchain
解决办法:
安装python
#$ANDROID_NDK/build/tools/make-standalone-toolchain.sh --platform=android-24 --install-dir=./android-toolchain --ndk-dir=/Users/musictom/Library/Android/sdk/ndk-bundle/ --use-llvm
#$ANDROID_NDK/build/tools/make-standalone-toolchain.sh --platform=android-24 --install-dir=./android-toolchain --ndk-dir=/Users/musictom/Library/Android/sdk/ndk-bundle/ --use-llvm --arch=arm64
#$ANDROID_NDK/build/tools/make-standalone-toolchain.sh --platform=android-24 --install-dir=./android-toolchain --ndk-dir=/Users/musictom/Library/Android/sdk/ndk-bundle/ --use-llvm --arch=mips64
#$ANDROID_NDK/build/tools/make-standalone-toolchain.sh --platform=android-24 --install-dir=./android-toolchain --ndk-dir=/Users/musictom/Library/Android/sdk/ndk-bundle/ --use-llvm --arch=mips
#$ANDROID_NDK/build/tools/make-standalone-toolchain.sh --platform=android-24 --install-dir=./android-toolchain --ndk-dir=/Users/musictom/Library/Android/sdk/ndk-bundle/ --use-llvm --arch=x86
#$ANDROID_NDK/build/tools/make-standalone-toolchain.sh --platform=android-24 --install-dir=./android-toolchain --ndk-dir=/Users/musictom/Library/Android/sdk/ndk-bundle/ --use-llvm --arch=x86_64