android交叉工具链,Android NDK 提供的交叉工具链手动编译源码

Makefile 如下

NDK_ROOT=/root/android-ndk-r7

TOOLCHAINS_ROOT=$(NDK_ROOT)/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86

TOOLCHAINS_PREFIX=$(TOOLCHAINS_ROOT)/bin/arm-linux-androideabi

TOOLCHAINS_INCLUDE=$(TOOLCHAINS_ROOT)/lib/gcc/arm-linux-androideabi/4.4.3/include-fixed

PLATFORM_ROOT=$(NDK_ROOT)/platforms/android-9/arch-arm

PLATFORM_INCLUDE=$(PLATFORM_ROOT)/usr/include

PLATFORM_LIB=$(PLATFORM_ROOT)/usr/lib

FLAGS=-I$(TOOLCHAINS_INCLUDE) \

-I$(PLATFORM_INCLUDE) \

-L$(PLATFORM_LIB) \

-nostdlib \

-lgcc \

-Bdynamic \

-lc

OBJS=test.o \

$(PLATFORM_LIB)/crtbegin_dynamic.o \

$(PLATFORM_LIB)/crtend_android.o

all:

rm -rf test.o

rm -rf test

$(TOOLCHAINS_PREFIX)-gcc $(FLAGS) -c test.c -o test.o

$(TOOLCHAINS_PREFIX)-gcc $(FLAGS) $(OBJS) -o test

test.c

#include "stdio.h"

int main()

{

printf("hello world\n");

return 0;

}

说明:

Android 使用的是bionic的交叉工具链

Android 的交叉工具链c开工代码为:crtbegin_dynamic.o

Makefile 中的几个传递给连接器的参数不能少

-nostlib 不加会引起 crtbegin_dynamic.o: No such file: No such file or directory 错误

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值