在macOS NDK中用上LLVM动态库插件
2022-12-3
| 2022-12-3
0  |  阅读时长 0 分钟
type
status
date
slug
summary
tags
category
icon
password
Property
Dec 3, 2022 03:28 AM

参考

问题

核心问题还是Google编译NDK的commandline tools版本太低,导致的符号问题。
从aosp下回来cmake编译出来的动态库插件简单的能加载,但是复杂点的还是会报符号找不到。

解决

自己编译llvm-android,然后将clang-14替换进去即可
注意:在高版本macOS上编译动态库插件的时候,需要在CMakeLists.txt加入以下内容

效果

notion image

下载

我编译的版本为 ndk-r25b 25.1.8937393 不要替换错了
支持 x86_64 / arm64
cmake.zip: lib64/cmake 文件夹的压缩 clang-14.zip: clang-14 install.zip: llvm-android编译出来的整个install文件夹
用法:
  1. 替换 clang-14
  1. 将 cmake.zip 解压到 lib64/cmake
然后就可以用NDK环境编译LLVM动态库插件了
 
  • LLVM
  • LLVM 获取函数和变量的 annotationAndroid crash时清理寄存器信息
    • Giscus
    目录