在 Android Studio 中使用 ollvm 版本的 clang 编译 so

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在 Android Studio 中使用 ollvm 版本的 clang 编译 so相关的知识,希望对你有一定的参考价值。

参考技术A ​ 如果简单的使用 ollvm 版本的 clang.exe 等可执行文件替换掉原版 ndk toolchain 中的 exe,那么将会报一些头文件查找不到的错误,网上说的原因似乎是不同版本的 clang 将会使用的头文件有差异,然而如果在控制台中直接使用 ollvm 版本 clang 去手动执行编译命令,是可以正常编译成功得到 .o 文件的,以下是我避免该坑的方法:

​ 打开 "YOUT_PROJECT_PATH\app.externalNativeBuild\cmake\debug\TARGET_ABI\rules.ninja",找到 "rule C_COMPILER__TARGET" 这一行(TARGET 指你在 CMakeLists.txt 中使用 add_library 指定的库名),然后你会在下面几行找到编译使用的 clang 路径,把它替换为你 ollvm 版本 clang 的路径,然后正常编译即可得到你想要的 so。

以上是关于在 Android Studio 中使用 ollvm 版本的 clang 编译 so的主要内容,如果未能解决你的问题,请参考以下文章

怎样在Android Studio中使用Uiautomator

在 android studio 中使用设备调试时,Android Logcat 为空

在Android Studio中使用lambda表达式

在android项目和库中使用支持库(Android Studio)

如何在 Android Studio 中使用我自己的 Android.mk 文件

如何设置android studio run release