Android车机DIY开发之学习篇(七)NDK交叉工具构建

Android车机DIY开发之学习篇(七)NDK交叉工具构建

1.ubuntu安装GCC

sudo apt-get update

sudo apt-get install gcc g++

sudo gcc --version

sudo g++ --version

2.测试GCC

VSCODE中新建Hello.c编译

#include <stdio.h>

int main(void)

{

printf("Hello, this is a program compiled by ndk-cross-compiler!\n");

}

alientek@alientek:~/VSCODESOURCE$ gcc Hello.c -o hello

alientek@alientek:~/VSCODESOURCE$ ./hello

Hello, this is a program compiled by ndk-cross-compiler!

alientek@alientek:~/VSCODESOURCE$

此程序无法应用到ARM开发板上

3.安装android-ndk-r17c交叉编译工具,使可以运行到android系统上

ndk官方下载地址

下载后解压文件进入build/tools执行以下命令

./make-standalone-toolchain.sh --install-dir=/tmp/my-android-toolchain/ --toolchain=aarch64-linux-android

在Bashrc中增加

export PATH=$PATH:/tmp/my-android-toolchain/bin

export CC="aarch64-linux-android-gcc"

export CXX="aarch64-linux-android-g++"

使生效

source ~/.bashrc

4. 编译测试

aarch64-linux-android-gcc Hello.c -o hello

file *

hello: ELF 64-bit LSB executable, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /system/bin/linker64, not stripped

相关推荐
Bin二叉2 分钟前
南京大学cpp复习——第二部分(继承)
开发语言·c++·笔记·学习
DIY机器人工房3 分钟前
简单理解:电源转换四大类型(AC/DC、DC/AC、DC/DC、boost、buck、LDO、AC/AC之间分别是什么关系?)
嵌入式硬件·boost·bms·buck·ldo·diy机器人工房·电源转换
代码游侠5 分钟前
数据结构——线性表
linux·c语言·数据结构·学习·算法
人邮异步社区5 分钟前
完全没接触过AI/NLP,如何系统学习大模型?
人工智能·学习·自然语言处理·大模型
。TAT。6 分钟前
进程间通信-对匿名管道的学习
linux·学习
QiZhang | UESTC13 分钟前
学习日记day37
学习
YJlio13 分钟前
SDelete 学习笔记(9.9):安全擦除原理、SSD 场景与企业合规实战
笔记·学习·安全
lingggggaaaa19 分钟前
免杀对抗——C2远控篇&PowerShell&C#&对抗AV-EDR&停用AMSI接口&阻断ETW跟踪&调用
c语言·开发语言·c++·学习·安全·c#·免杀对抗
k***38820 分钟前
Golang 构建学习
开发语言·学习·golang
就是蠢啊21 分钟前
51单片机——串口通信(二)
嵌入式硬件·mongodb·51单片机