我刚刚写了一个小c文件及其头文件。dev_access.c 和 dev_access.h
我想将它链接到android中的仿生库并创建一个静态/动态链接的存档文件。
我的文件在 /home/preetam/mydev/ android 源在 /home/preetam/android_source
以下是我当前的makefile
CROSS := /home/preetam/bin/CodeSourcery/arm2010/Sourcery_G++_Lite/bin/arm-none-linux-gnueabi
CC := $(CROSS)-gcc
INC_DIR := /home/preetam/android_source/bionic/libc
CFLAGS := -Wall -c -I$(INC_DIR)/include
android_hal: dev_access.o
${CC} ${CFLAGS} dev_access.c -o dev_access.a
clean:
rm -f *.o dev_access.a
我不确定出了什么问题,但是头文件没有链接,并且出现了一些丢失和重新定义的错误。以下是控制台输出:
/home/preetam/bin/CodeSourcery/arm2010/Sourcery_G++_Lite/bin/arm-none-linux-gnueabi-gcc -c -Wall -I/home/preetam/android_source/bionic/libc/include -static -c -o dev_access.o dev_access.c
In file included from /home/preetam/android_source/bionic/libc/include/stdio.h:42,
from dev_access.c:1:
/home/preetam/android_source/bionic/libc/include/sys/_types.h:40: fatal error: machine/_types.h: No such file or directory
compilation terminated.
make: *** [dev_access.o] Error 1
首先,我的 Makefile 是否正确?将您的程序与仿生 libc 链接的正确方法是什么?如何使最终对象成为档案?