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

相关推荐
AI成长日志11 小时前
【Agentic RL】1.1 什么是Agentic RL:从传统RL到智能体学习
人工智能·学习·算法
UTP协同自动化测试11 小时前
物联网模组测试难点 |APP指令下发+UART 响应+GPIO 电平变化,如何一次性验证?
功能测试·嵌入式硬件·物联网·模块测试
_李小白12 小时前
【OSG学习笔记】Day 38: TextureVisitor(纹理访问器)
android·笔记·学习
杨云龙UP12 小时前
从0到1快速学会Linux操作系统(基础),这一篇就够了!
linux·运维·服务器·学习·ubuntu·centos·ssh
头疼的程序员13 小时前
计算机网络:自顶向下方法(第七版)第八章 学习分享(三)
网络·学习·计算机网络
yoyobravery13 小时前
蓝桥杯第15届单片机满分
单片机·职场和发展·蓝桥杯
_李小白13 小时前
【OSG学习笔记】Day 37: NodeVisitor(顶点访问器)
笔记·学习
程序员雷欧14 小时前
大模型应用开发学习第八天
大数据·人工智能·学习
晓晓hh14 小时前
JavaSE学习——set集合和Map映射
学习
4caf114 小时前
作业2:6位数码管静态显示
嵌入式硬件·51单片机