all: Robię aplikację na Androida, która może się pochwalić czytnikiem kart inteligentnych ccid z telefonu komórkowego z Androidem, Wybrałem w ten sposób: "pcsc-lite-1.8.5 + ccid-1.4.7 + libusb-1.0. 3 ", które działają w Ubuntu (Linux na PC) bardzo dobrze. następnie próbowałem przenieść je na Androida, jest wiele problemów podczas kompilacji. większość tych problemów jest to, że Bionic biblioteki Androida brakuje niektórych nagłówków i funkcje, takie jak:sys/fcntl.h: nie ma takiego pliku, podczas gdy cross kompilowanie pcsclite dla Androida?
sys/fcntl.h, mqueue.h: Nie ma takiego pliku;
pthread_cancel: undefined reference;
i teraz, gdy jestem cross-kompilacji pcsclite budowania wykonywalny "pcscd", mam ten błąd:
sd-daemon.c:35:23: fatal error:sys/fcntl.h:No such file or directory
Android.mk:
#===================================================
# ****** pcscd ******
#===================================================
include $(CLEAR_VARS)
LOCAL_PRELINK_MODULE:=false
LOCAL_SRC_FILES:=atrhandler.c \
debuglog.c \
dyn_hpux.c \
dyn_macosx.c \
dyn_unix.c \
eventhandler.c \
hotplug_generic.c \
ifdwrapper.c \
pcscdaemon.c \
powermgt_generic.c \
prothandler.c \
readerfactory.c \
simclist.c \
strlcat.c \
sys_unix.c \
tokenparser.c \
hotplug_libudev.c \
hotplug_libusb.c \
hotplug_linux.c \
hotplug_macosx.c \
utils.c \
winscard.c \
winscard_msg.c \
winscard_msg_srv.c \
winscard_svc.c \
sd-daemon.c
LOCAL_CFLAGS+= -DHAVE_LIBUSB
LOCAL_C_INCLUDES+=$(LOCAL_PATH)/ $(LOCAL_PATH)/src/ $(HOME)/android-ndk-r8b/samples/includes-libusb1.0.3/ $(LOCAL_PATH)/PCSC/
LOCAL_LDFLAGS:=-shared
LOCAL_MODULE:=pcscd
LOCAL_LDLIBS:=-llog $(HOME)/android-ndk-r8b/samples/libs-libusb1.0.3/libusb-1.0.so
include $(BUILD_EXECUTABLE)