Windows上编译ollvm9.0等高版本并使用
ollvm官方只更新维护到llvm的4.0版本,github上有大佬移植了高版本的llvm,链接为:https://github.com/heroims/obfuscator/tree/llvm-9.0.1
编译ollvm9.0.1#
编译环境和ollvm4.0的编译环境一样,采用mingw64 + ollvm9.0.1 + ndk 21.1.6352462。
采用vs2019和ninja编译都可以成功但是使用时各种异常,只有mingw64编译的可以正常使用。
mkdir build
cd build
cmake -G "MinGW Makefiles" -DCMAKE_BUILD_TYPE=Release ../
make
集成ollvm9.0.1到ndk中#
这里注意ollvm编译得到的clang版本要和ndk中clang的版本相近。
查看ndk 21.1.6352462中的ndk\21.1.6352462\toolchains\llvm\prebuilt\windows-x86_64\bin目录下clang的版本
以同样的方法查看编译好的ollvm9.0.1中clang的版本,如果与ndk中clang的版本差别较大可能会产生错误。
- 将编译后的build\bin文件夹中的clang.exe clang++.exe clang-format.exe 复制到ndk的toolchains\llvm\prebuilt\windows-x86_64\bin文件夹下,覆盖目标文件
- 将编译后的build\lib\clang\9.0.1\include文件夹中的__stddef_max_align_t.h stddef.h stdarg.h float.h 复制到ndk的toolchains\llvm\prebuilt\windows-x86_64\sysroot\usr\include文件夹下
注意:头文件复制到的位置和ollvm4.0低版本的略微有点不一样
使用ollvm9.0.1#
使用方法和ollvm4.0一样
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)