Cómo especificar el archivo de encabezado c en el archivo android.mk

Tenía el nombre de la carpeta de la fuente de AC "clib" y en eso, tengo algunos archivos de ejemplo como 1.h, 1.c, 2.h, 2.c, 3.c, 3.h y hacia fuera lado esa carpeta tengo 4 .h, 4.c, 4_jni.h, 4_jni.c

Ahora para construir ".so" he creado mi android.mk algo como esto

LOCAL_PATH := $(call my-dir) MY_PATH := $(LOCAL_PATH) include $(call all-subdir-makefiles) include $(CLEAR_VARS) LOCAL_PATH := $(MY_PATH) LOCAL_LDLIBS := -L$(SYSROOT)/usr/lib -llog LOCAL_MODULE := clib TIME_SYNC_PATH := ../../../clib LOCAL_SRC_FILES := \ 4_jni.c \ 4.c \ $(TIME_SYNC_PATH)/1.c \ $(TIME_SYNC_PATH)/2.c \ $(TIME_SYNC_PATH)/3.c \ $(BUILD_SHARED_LIBRARY) 

Aquí 4.h incluye archivo 1.h

Así que mi verdadero problema es cuando intenté construir el archivo .so que me da un error de algunos como este

fatal error: 1.h: No such file or directory

Si quito el 1.h de 4.h, todo está construyendo muy bien, pero tenía una gran biblioteca c con el mismo tipo de estructura de carpetas, y algunos de archivo .h contiene pocos marcos definidos ….

Así que por favor cualquier sugerencia cómo incluir .h que está en la carpeta diferente ..

LOCAL_C_INCLUDES especificar una ubicación LOCAL_C_INCLUDES .

Esta variable contiene las ubicaciones de los archivos de encabezado como:

 LOCAL_C_INCLUDES := $(LOCAL_PATH)/src/include/ 

Por supuesto, puede especificar varias ubicaciones:

 LOCAL_C_INCLUDES := $(LOCAL_PATH)/src/include/ LOCAL_C_INCLUDES += $(LOCAL_PATH)/project2/src/include/ 

Tenga en cuenta que cuando esta variable es evaluada por la utilidad ndk-build , su valor se considera relativo a $(LOCAL_PATH) , por lo que necesita usar $(LOCAL_PATH) al dar una ruta en LOCAL_C_INCLUDES .

  • Firma de android apk con gradle-experimental: 0.2.0
  • Android Equalizer para nivel de API <9
  • Error de JNI: desbordamiento de tabla de referencia local 512 entradas
  • Set / Get Java List <> del código C
  • ¿Cómo realizar llamadas JNI desde un servicio incluso si la aplicación está cerrada?
  • Pasar un objeto Java a C ++ a través de JNI y luego volver a Java, a través de void *
  • ¿Android realmente no tiene wchar_t?
  • Android JNI APK Embalaje
  • JNI de Android no encuentra archivos de encabezado de biblioteca estándar de C ++
  • Cómo agregar un servicio de sistema a Android Framework
  • Acceso a datos sin procesar en ARGB_8888 Android Bitmap
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.