Sys / fcntl.h: ¿no hay tal archivo mientras compila pcsclite para Android?

Todos: Estoy haciendo una aplicación de Android que puede commnicate con un lector de tarjetas inteligentes ccid de android móvil, he elegido de esta manera: "pcsc-lite-1.8.5 + ccid-1.4.7 + libusb-1.0.3" que ejecutar En Ubuntu (linux OS en pc) muy bien. Entonces he intentado portarlos a android, hay un montón de problemas durante la compilación cruzada. La mayoría de estos problemas es que la biblioteca Bionic de Android carece de algunos encabezados y funciones, como:

  1. Sys / fcntl.h, mqueue.h: no hay tal archivo;

  2. Pthread_cancel: referencia indefinida;

Y ahora, mientras estoy compilando pcsclite para la construcción de ejecutable "pcscd", tengo este error:

Sd-daemon.c: 35: 23: error fatal: sys / fcntl.h: Ningún archivo o directorio

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) 

¡Cualquier ayuda será apreciada!

¡Atentamente! chelín

Muchos de los encabezados de Android no están en la ubicación estándar. Puede utilizar el siguiente comando para buscar en el NDK la ubicación de los archivos que faltan find . -name fcntl.h find . -name fcntl.h . Aparece include <sys/fcntl.h> necesita ser cambiado para include <fcntl.h> .

La biblioteca pthread de Android no incluye pthread_cancel consulte 'docs / OVERVIEW.html'. No debería ser difícil reemplazar pthread_cancel .

No estoy seguro de qué hacer con mqueue .

  • ¿Cómo saber qué nivel de API estoy construyendo para usar ndk-build?
  • Cómo detectar el uso de HDMI en Samsung Galaxy S II
  • ¿Cómo solucionar un bloqueo de la biblioteca del sistema Android (libwebcore.so)
  • Android Studio + Experimental Gradle Plugin + NDK + OpenCV: mostrando errores en opencv include statement
  • Android ndk vs sdk - si las características se refiere
  • Android Studio, Gradle, OpenCV y NDK
  • Distinción múltiple de versionkode de apk
  • Android NDK: cómo vincular varias bibliotecas de terceros
  • Std :: string operations (es decir, stol, stoi) no encontrado NDK8d
  • No se pueden incluir encabezados de C ++ como vector en Android NDK
  • NDK Debug para Nexus 9 arm64-v8a no funciona para eclipse
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.