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:
-
Sys / fcntl.h, mqueue.h: no hay tal archivo;
- ¿Cómo encontrar el estado de la conexión VPN a través de API de marco o cualquier otro método eficiente?
- Implementación de un gráfico de filtro de entrada múltiple con la librería Libavfilter en Android NDK
- AndroidRuntime Causado por: java.lang.unsatisfiedLinkError: No se pudo cargar tfp_jni: findLibrary returned null
- ¿Por qué tantas aplicaciones de Android utilizan el NDK?
- Android NDK, dos bibliotecas estáticas y vinculación
-
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
- Cómo inyectar la biblioteca en el proceso Android zygote?
- Cómo utilizar los archivos de encabezado precompilados en Android NDK
- Integración de libsodium en android
- NDK de Android: tu APP_BUILD_SCRIPT apunta a un archivo desconocido
- Error al generar el archivo final: java.io.FileNotFoundException: xxx \ bin \ resources.ap_ no existe
- ¿Cuánto es demasiado asignación de memoria en NDK?
- Cómo invocar mi decodificador personalizado en el código fuente de Android
- Cómo agregar efectos de sonido en un archivo de sonido en Android
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
.
- System.getProperty ("line.separator") Vs "\ n" para Android
- Cómo registrar una aplicación como una alternativa de Home