c/c++ android 平台交叉编译 {ERROR: Failed to create toolchain}

1.直接调用gcc方法

以下出自https://blog.csdn.net/smfwuxiao/article/details/6587709
1.1 sysroot --寻找目录
里面是一些对应android 版本的 *.a, .o,.so

$ SYSROOT=$NDK/platforms/android-8/arch-arm

1.2 CC —编译器路径

----cpu 类型
基本上都是linux ,可见的未来应该不会有人用windows 做android 内核

$ export CC="$NDK/toolchains//prebuilt//bin/gcc --sysroot=$SYSROOT"

上面第1行之后之后,再去执行./configure 就可以编译出arm程序了。不过还需要考虑共享库的链接问题,要确保该程序没有链接ndk未提供的共享库。该方法的缺陷就是,不能使用 C++ STL(STLport 或 GNU libstdc++ ),也不能使用异常机制和RTTI。

2.ndk独立工具链法

/home//Dev_SDK/NDK_r16/build/tools/make-standalone-toolchain.sh

执行指令
/home//Dev_SDK/NDK_r16/build/tools/make-standalone-toolchain.sh --platform=android-5 --install-dir=/home//Dev_SDK/NDK_Standalone_ToolChain [ --arch=arm ]

原笔者没有提到,上面指令中的android-5 不是android 5.0, 5是 api-level.所以这里要填10+或者20+的数字。根据自己的目标系统而定。挺慢的哦。我输入android-21 生成270+MB 的压缩包。 ------这段是我添加的。

你可能感兴趣的:(C++学习笔记)