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 ..

One Solution collect form web for “Cómo especificar el archivo de encabezado c en el archivo android.mk”

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 .

  • ¿Cómo puedo manejar las llamadas a AudioTrack de jni sin estrellarse?
  • Ejecutar código en el subproceso principal / UI en Cocos2dx
  • UnsatisfiedLinkError Android
  • Cómo pasar correctamente un archivo FileDescriptor a FFmpeg usando JNI en Android
  • ¿Cualquier manera simple o fácil de depurar el código de Android NDK?
  • No se puede asignar suficiente memoria en JNI
  • Android NDK no puede depurar código nativo con dos complementos de gradle
  • Invocación de funciones nativas de la biblioteca portada
  • ¿Cómo puedo depurar eficazmente el código C que está envuelto con JNI en Eclipse? (Android Dev)
  • ¿Cómo crear una biblioteca nativa de C ++ en Android?
  • Cómo arreglar Eclipse CDT Error "La función 'isdigit' no pudo ser resuelta" con Android NDK?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.