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

相关推荐
水云桐程序员2 小时前
从零开发软件的步骤,软件开发从零到完成应该怎么做?
笔记·学习·软件构建·个人开发
David猪大卫2 小时前
【Linux修炼】环境变量、进程地址空间
linux·c语言·经验分享·笔记·学习·ubuntu·centos
叼烟扛炮3 小时前
Linux 学习笔记(五十六):IO 多路复用初探——select 的“三宗罪”
linux·服务器·数据库·笔记·学习·php
Dev_XH7 小时前
【成品设计】基于单片机的家用智能浇花系统的设计与实现
stm32·单片机·嵌入式硬件·物联网
意法半导体STM329 小时前
【官方原创】LAT1717 STM32N6 如何使用单个XSPI驱动双片相同HyperRAM
stm32·单片机·嵌入式硬件·mcu·stm32n6·hyperram
木子单片机9 小时前
基于单片机的直流电机调速系统设计
单片机·嵌入式硬件·51单片机·nosql·keil
叼烟扛炮9 小时前
Linux 学习笔记(五十八):IO 多路复用封神——epoll 底层原理揭秘
linux·运维·服务器·网络·笔记·学习·php
Zwawa10 小时前
两根线怎么挂住一堆设备:I2C 协议原理
c语言·单片机·嵌入式
倔强的胡萝卜12 小时前
基于STM32F103C8T6的温度报警器设计
stm32·单片机·嵌入式硬件
缘来是你远去是我13 小时前
ZYNQ 系列芯片中断机制详解:类型、处理过程与中断处理函数
单片机·嵌入式硬件