问题描述
在将项目 clone 下来之后编译,提示
The C++ compiler"C:/Users/***/AppData/Local/Android/Sdk/ndk/21.1.6352462/toolchains/llvm/prebuilt/windows-x86_64/bin/clang++.exeis not able to compile a simple test program
问题分析
很明显的提示,交叉编译用的 NDK 执行异常,且告知了使用的 NDK 版本及所在目录。
项目如果没有指定,AS 会自动选择一个版本进行交叉编译,选择的方式暂不去深究。可尝试指定一个版本试试。
问题解决
指定 NDK 版本有两种方式:
如果 NDK 所在目录为初始默认目录,也就是上面提示对应的目录,那么直接在模块 build.gradle 中使用 ndkVersion "21.4.7075529"
;
如果要使用自定义目录下的,例如我为节省C盘空间 ,放在 D\Android\Sdk\
下,那么可在项目 local.properties 中指定 ndk.dir=D\:\\Android\\Sdk\\ndk\\21.4.7075529
。采用第二种方式的话,在 AS 中 File
-> Project Structure
下 SDK Location 中可看到 NDK location.
具体有哪些版本,可在对应目录下看到。