How to build Clang toolchains for Android NDK from source code

ndk-r17b编译及使用ollvm-tti步骤(提供编译后文件) ************伸手党直接请看第四步************* ndk-r17b编译及使用ollvm-tti步骤(提供编译后文件) 源码地址: https://github.com/yazhiwang/ollvm-tll 一、编译ollvm-tti 1.git clone https://github.com/yazhiwang/ollvm-tll.git 2.mkdir build 3.cd build 4.修改ollvm-tll\lib\Transforms\Obfuscation\CMakeLists.txt,在最后一行添加 add_definitions(-D_WINDOWS) 让其支持WINDOWS,不修改的话会一直出现"Cannot open /dev/random" 5.cmake -DCMAKE_BUILD_TYPE=Release -DLLVM_LIBDIR_SUFFIX=64 -G "MinGW Makefiles" -DLLVM_INCLUDE_TESTS=OFF ..\ollvm-tll 6.make -j3 二、链接NDK 7.备份NDK_PATH/toolchains/llvm目录 8.删除NDK_PATH/toolchains/llvm/prebuilt/windows-x86_64/目录下所有文件 9.复制build文件夹中的bin、和lib以及lib64 到NDK_PATH/toolchains/llvm/prebuilt/windows-x86_64/目录下 三、使用 10.在Android.mk中加入以下就能使用混淆功能了 LOCAL_CFLAGS := -mllvm -sub -mllvm -bcf -mllvm -fla -mllvm -sobf 四、编译后文件下载地址(文件太大上传不了,上传至网盘了) 1.备份NDK_PATH/toolchains/llvm目录 2.删除NDK_PATH/toolchains/llvm/prebuilt/windows-x86_64/目录下所有文件 3.直接解压到NDK_PATH/toolchains/目录就行 立即下载
we have some source changes to LLVM/Clang need add into NDK. After download and change "external/llvm" and build NDK from source. It find out that the changes never works. The code in "external/llvm" is dead code and the binary clang/clang.exe is already in NDK source code dir after repo sync which path is below. Does somebody knows how to build Clang toolchains for Android NDK from LLVM/Clang source code? Most Thanks!

The binary clang/clang.exe is already in NDK source code dir below:
https://android.googlesource.com/platform/prebuilts/clang/host/darwin-x86
https://android.googlesource.com/platform/prebuilts/clang/host/linux-x86
https://android.googlesource.com/platform/prebuilts/clang/host/windows-x86

The binary clang/clang.exe is just copy from NDK source code dir. Not build from source code.
android-ndk-r13\toolchains\ llvm\prebuilt\windows-x86_64\ bin\clang.exe

android-ndk-r13\toolchains\llvm\prebuilt\linux-x86_64\bin\clang


https://android.googlesource.com/platform/ndk.git/+/master/build/tools/build-llvm.py 

https://android.googlesource.com/platform/ndk.git/+/master/build/tools/#II_Host-toolchains

Thanks for answer again. I checked it, but find out it's saying how to build gcc toolchains from source use the build-gcc.sh. I'm sorry to say there is nothing about llvm toolchains which it's already prebuilt binaries placed in below:

https://android.googlesource.com/platform/prebuilts/clang/host/linux-x86/+/refs/heads/master/clang-3362437/bin/
And there is nothing I can find about how to build it with Google searching or in it's WIKI.
Thanks.


It looks like I need to delete some old docs. The doc you're looking for is https://android.googlesource.com/platform/ndk/+/master/docs/Toolchains.md

Thank you very much! With this link and some test (most times one change need a total rebuild) I finally make it works!
The work also need this:
https://android.googlesource.com/platform/external/clang/+/dev/ToolchainPrebuilts.md

Thanks Again!


https://groups.google.com/forum/#!topic/android-ndk/OrCXmCNFark

远红外热传感器阵列 (32x24 RES) MLX90640ESF-BAA/BAB Melexis MLX90640是一款小体积、低成本的完全校准的32x24像素红外阵列,采用行业标准,带数字接口。3.其工作温度范围为 -40°C 至 85°C,可测量的物体温度范围为 -40°C 至 300°C。该红外传感器在整个测量范围内保持高精度水平,可提供 ±1°C 的典型目标物体温度精度。2.这款 32x24 像素的器件适用于安全和便利应用,包括防火系统、智能楼宇、智能照明、IP/监控摄像机、HVAC 设备和车辆座椅占用检测。1.工作温度范围为 -40 至 85°C,可在严苛的工业环境中部署。 阅读详情

相关推荐

多仓智能订单路由与动态优化方案设计

现在有很多商家会有多个仓库,并分布在不同的城市中,当用户下单后会根据商品库存及订单信息将订单分配到对应的仓库进行发货,如就近原则,本期基于多仓库设计一套订单路由方案,包含核心逻辑、规则优先级和实施方案,适用于多仓协同的订单自动分配场景

14年产品经理老兵,想把自己的经验及总结分享给大家,只讲思路及实操,不讲废话 2476

Android FFmpeg基于NDK r20的llvm/clang的编译方法

一.源代码下载与编译: 1.代码下载地址: 最新的relase版本下载地址: http://ffmpeg.org/download.html Github下载地址: https://github.com/FFmpeg/FFmpeg 在这可以选择2中下载方式:zip下载或git clone Zip下载方法: git下载方法:(需要安装git工具并配置git) Windows...

闯荡_脚印 2033

C++版Cesium实战:从OpenGL到3DTiles的全流程开发指南

本文提供了一份C++版Cesium全流程开发指南,详细阐述了如何利用OpenGL和Qt从零构建高性能、可离线部署的三维GIS应用。内容涵盖开发环境搭建、OpenGL渲染引擎初始化、Cesium核心坐标系与场景管理移植,并重点解析了3DTiles数据的解析、异步加载与渲染优化等硬核实战技术,旨在帮助开发者实现与现有C++工业软件的深度集成。

weixin_28077113的博客 164

Android NDK 指南

Android NDK 指南 文章目录Android NDK 指南前言NDK 工程构建Android.mkCMake独立工具链obfuscator-llvm 构建构建技巧独立构建快速部署Android.mk 变量参考变量命名规范NDK 定义的 include 变量目标信息变量模块描述变量NDK 提供的函数宏Application.mk 变量参考NDK APIAndroid.mkCMake引入预编译库引入动态库引入静态库CMake参考 前言 编写此文档的用意: 作为搭建基础 NDK 工程的教程; 作为入门

l0neman 的博客 1285

无感健康监测的未来:毫米波雷达如何重新定义睡眠科技与居家养老

毫米波雷达技术正重新定义无感健康监测,特别是在睡眠科技与居家养老领域。通过精准监测呼吸、心率和体动,无需穿戴设备即可实现临床级精度。结合合宙Air700E开发板,构建了完整的远程看护解决方案,为老年人提供跌倒检测、异常报警等安全保障,同时保护用户隐私。

cake8的博客 565

VS code 调试显示preLaunchTask“g++“已终止,退出代码为-1。 生成‘... .exe‘文件错误

总结: 以后每个工程都需要按照这样的流程:创建一个.c/.cpp文件 -> F5运行 -> 配置tasks.json文件-> launch.json文件 -> 运行

qq_45151652的博客 2513

android ndk clang交叉编译ffmpeg动态库踩坑

编译32位,则ARCH改为arm,CPU改为armv7-a,TARGET改为armv7a-linux-androideabi。1.ffmpeg默认使用gcc编译,在android上无法使用,否则各种报错,所以要用ndk的clang编译。注意,r25版本的ndk移除了交叉编译工具,改成了llvm,所以要把交叉编译工具路径指向llvm的路径。修改configure文件,增加命令 cross_prefix_clang。3.新建脚本文件,ffmpeg目录下执行脚本文件即可。2.下载ffmpeg源码。

Pansy的博客 1978

AutoClip AI视频剪辑工具:Docker一键部署指南

摘要:AutoClip是一个基于Docker容器化部署的智能视频剪辑系统,采用微服务架构设计,包含Web界面、后端API、异步任务处理和Redis缓存等组件。系统支持一键快速部署,提供完整的监控和日志功能,最低要求4GB内存和10GB存储空间。部署过程仅需三个步骤:克隆代码、配置环境变量、启动容器服务。生产环境支持性能调优、数据持久化和网络安全管理。该系统解决了环境配置难题,实现"一次配置,到处运行"的目标,适合需要自动化视频处理的用户。

wjianwei666的专栏 999

Android NDK 使用 Clang 编译器

我们在使用 cocos2dx 进行跨平台开发的时候,一种情景是我们在 mac 上利用 xcode 的开发环境进行开发。当我们把代码放到 android ndk 上,想编译成 android 应用的时候,有时候会出现编译错误,这主要是我们在 mac 上的时候,在 C++ 代码里使用了过多的 C++11 功能,比如像 auto 之类。 xcode 默认是使用 clang 的编译器,而 NDK 上...

游戏开发及系统编程 2430

YOLOv11知识蒸馏实战:让小模型拥有大模型90%精度,速度提升3倍的终极教程

在self.alpha = alpha # 蒸馏损失权重self.temperature = temperature # 温度系数,控制分布平滑度# 输出分布蒸馏(KL散度损失)# 中间特征蒸馏(MSE损失,对齐中间层特征)# 总蒸馏损失知识蒸馏是YOLOv11在“小模型高性能部署”场景的“破局之法”——它让小模型能“站在大模型的肩膀上”,兼具速度与精度。从损失函数定义到多阶段训练,再到实战落地,本教程已为你铺就了一条清晰的路径。

m0_64661770的博客 800

在 SAP 中,寄售业务(Consignment)与管道业务(Pipeline)都属于“物料先到、发票后到”的特殊采购模式,但两者的库存形态、物权转移时点、结算触发条件、系统配置完全不同

SAP中寄售业务与管道业务均属"先货后票"采购模式,但存在本质差异。寄售业务(如手机芯片)采用实物库存管理(标记"K"),物权在领用时转移,通过411K/201K移动类型触发负债;管道业务(如蒸汽)无实物库存,采用261P等移动类型直接消耗并生成应付。系统配置上,寄售需K类信息记录及GR收货,管道需P类信息记录且免GR。两者均通过MRKO汇总结算,但寄售按领用量计费,管道按提取量实时计费。核心区别在于库存形态与物权转移时点。

金牌架构师 554

NDK使用遇到的那些事(持续更新当中)

:AppCamera:transformNativeLibsWithStripDebugSymbolForDebug FAILURE: Build failed with an exception. * What went wrong: Execution failed for task ':AppCamera:transformNativeLibsWithStripDebugSymbolF...

可可西里 1万+

37、OpenMP:并行编程的强大工具

本文详细介绍了 OpenMP 的核心功能和使用方法,包括执行环境例程、线程同步与协调机制,如关键区域、屏障、原子操作、归约子句、刷新构造和锁机制。此外,还提供了多个实践练习,涵盖矩阵乘法的并行实现、任务池与流水线模式的应用、读写锁的扩展与移植,以及客户端-服务器模式的实现与优化。通过这些内容,读者可以全面掌握 OpenMP 在并行编程中的实际应用与性能优化技巧。

www00的博客 101

Android NDK放弃GCC,全面转向Clang

Android NDK放弃GCC,全面转向Clang

张同光 (Tongguang Zhang):Hello everyone ! 1万+

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

android工具链体系,在Android NDK工具链中使用LLVM有什么用?

在Android NDK工具链中使用LLVM有什么用?一点回顾:我在Ubuntu上使用Gradlew构建我的本机项目,目标是arm和x86_64架构.似乎LLVM被用来调用arm-linux-androideabi-4.9的c / C编译器以及x86_64(?)以下内容摘自armeabi-v7a / ndkBuild_build_output.log:/home/mypc/Android/andr...

weixin_31684041的博客 491

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

MAC编译Android源码 prebuilts/misc/darwin-x86/bison/bison出错

错误提示: [  0% 438/72411] //external/one-true-awk:awk yacc awkgram.y FAILED: out/soong/.intermediates/external/one-true-awk/awk/android_arm64_armv8-a_core/gen/yacc/external/one-true-awk/awkgram.c out/s

thunder_sz的博客 2508

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

下载AOSP源码编译、调试、刷机

一.准备工作 系统最好是Ubuntu或者mac OS。(本文基于Ubuntu) Ubuntu设置永不休眠,防止在编译的过程中休眠导致编译失败。在setting中搜索power->blank-screen选择never。 一块大一点儿的硬盘至少得有200G以上剩余空间。 二.下载源码 1.安装GIT 首先需要安装Git,因为源码是用Git管理的. sudo apt-get install git 接下来创建一个bin文件夹,并加入到PATH中,有点像Windows的环境变量. mkdir ~/bin

XBlithe的博客 4262

android studio ndk开发中错误记录求救

Error:FAILURE: Build failed with an exception. * What went wrong: Execution failed for task ':app:externalNativeBuildDebug'. > Build command failed. Error while executing 'E:\czg\czgSDK\cmake\

牵手生活 3867

Android——NDK下载提示缺少toolchains问题解决

更新下载了最新的NDK,发现Android SDK报错。 No toolchains found in the NDK toolchains folder for ABI with prefix: mips64el-linux-android。 解决办法: 1.找到并进入下载安装的ndk目录 lydeMacBook-Pro:~ imac$ cd /Users/ly/Library/Android/...

u014132820的专栏 6875

Build your own NDK from the Android source tree

Let’s say you want to port a Linux tool to Android. You got the latest NDK and you tried building the Linux tool you want to port. You tool does not build because it depends on the latest bionic chang...

omnispace的博客 328

ndk编译 toolchains/llvm/prebuilt/windows-x86_64/bin/clang++.exe

ndk编译报错: CMake Error at CMakeLists.txt:1 (project): The CMAKE_CXX_COMPILER: G:/soft/android-ndk-r21e/toolchains/llvm/prebuilt/windows-x86_64/bin/clang++.exe is not a full path to an existing compiler tool.

jacke121的专栏 4973

git 和 repo

Google使用git和repo管理AOSP源码。 概念区分 1、Git和git(https://source.android.com/setup/develop#git) Git是版本控制系统,我们使用git工具进行代码仓库和分支的管理。比如我可以使用git clone从远程仓库的一个分支下载代码到本地,可以git push将本地仓库的某一个分支推送到远程仓库的分支,关于git使用可以参考p...

本末实验室 1383

使用NDK一定要加载好路径

1、GNU C++ ${ProjDirPath}/../../sdk/native/jni/include ${NDKROOT}/sources/cxx-stl/gnu-libstdc++/4.6/libs/armeabi-v7a/include ${NDKROOT}/sources/cxx-stl/gnu-libstdc++/4.6/include D:/android_work/O

zll1371的专栏 1064

Android 14+ 模拟器抓包实录:把 Burp CA 装成系统 CA,让 targetSdk≥34 的 App 乖乖解密

本文记录了在 Android 14+ 环境下,通过将 Burp CA 安装为系统信任锚,成功抓取 targetSdk=35 App 的 HTTPS 明文流量的完整实操过程。针对“浏览器可用、App 不可用”的典型现象,精准识别出根本原因是系统级证书信任策略变更(用户安装的 CA 被屏蔽),而非 SSL Pinning。仅通过 adb 命令将 CA 推送至系统证书存储并重启生效,无需 Frida、Objection 或修改 APK,实现零侵入解密。全文命令均基于 Windows + MuMu 模拟器环境实测通

JIANqiao19931029的博客 336
上一篇: Build your own NDK from the Android source tree
下一篇: Building an Android NDK toolchain
Omni-Space
博客等级 码龄11年 2158粉丝 23原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值