2014-05-14 6 views
3

방금 ​​작은 c 파일과 해당 헤더 파일을 작성했습니다. dev_access.c and dev_access.h정적으로 c 파일을 android bionic c 라이브러리와 연결

안드로이드의 바이오닉 라이브러리에 링크하고 정적/동적으로 링크 된 아카이브 파일을 만들고 싶습니다.

내 파일에/홈/preetam/mydev 안드로이드 소스/홈/preetam에/ /android_source

갈 것이 무슨 나는 확실하지 않다

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 

첫째, 내 메이크 맞습니까? bionic libc와 프로그램을 연결하는 적절한 방법은 무엇입니까? 최종 개체를 아카이브로 만드는 방법은 무엇입니까? 당신은 이러한 생체 공학에 대한 경로를 포함 사용해야

+0

입니다 당신을 생각 lib에 dev_access.o를 번들로 묶어야합니다 dev_access.a – Jiminion

+0

ar libdev_access.a dev_access.o – Jiminion

+0

컴파일 할 수 없습니다. 나는 무엇이 포함되어야하는지 확신하지 못한다. 또한 컴파일 된 생체 공학이 필요한지 또는 출처가 충분한 지 여부는 확실하지 않습니다. – preetam

답변

1

:

libc/arch-$ARCH/include 
libc/include 
libc/kernel/common 
libc/kernel/arch-$ARCH 

AR 그것을 위해 일부 스위치가있을 수 있습니다 ...

편집 : 스위치는 CR

ar -crv <libname> <source_object>