Imansible trovare i file di intestazione – Android NDK

sto avvolgendo una API nativa per Android da parte di NDK.

Ma quando si costruisce non trovano i file di intestazione.

  • Come visualizzare l'image dal sito Web in elemento ItemActivity cliente con SimpleAdapter?
  • Come impostare una vista personalizzata nelle tabs di navigazione di ActionBar e rendere le tabs adattate alla sua altezza?
  • Discussione dell'interface utente congelata con AsyncTask
  • Utilizzo di Google Drive per il backup e il ripristino del database SQLite
  • Richiesta di HTTP di Android SSL utilizzando autore e CA autorizzati
  • Che cosa triggers le trasmissioni BluetoothDevice.ACTION_ACL?
  • Ho la seguente struttura.

    progetto / jni

    Android.mk

    LOCAL_PATH := $(call my-dir) include $(call all-subdir-makefiles) LOCAL_PATH :=/home/marcos/dev/workspace/rmsdk.native.wraper/jni include $(CLEAR_VARS) LOCAL_LDLIBS := -llog LOCAL_MODULE := ndk1 LOCAL_SRC_FILES := native.c DelegateDRMProcessorClient.cpp LOCAL_STATIC_LIBRARY := adept cryptopenssl dp expat fonts hobbes jpeg mschema png t3 xml zlib include $(BUILD_SHARED_LIBRARY) 

    progetto / jni / prereqs /

    Android.mk (utilizzato per call tutti i file Android.mk secondari)

     LOCAL_PATH := $(call my-dir) include $(call all-subdir-makefiles) include $(CLEAR_VARS) 

    progetto / jni / prereqs / lib%% /

    Android.mk

     LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) LOCAL_MODULE :=dp LOCAL_SRC_FILES :=libdp.a LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/include include $(PREBUILT_STATIC_LIBRARY) 

    E c'è una cartella di inclusione in each cartella% lib%.

    Quando si utilizza ndk-build ho un "/home/marcos/dev/workspace/rmsdk.native.wraper/jni/DelegateDRMProcessorClient.h:18:20: error: dp_all.h: Nessun file o directory"

    Chiunque sa come includere queste intestazioni per essere disponibili al compilatore?

  • Come mostrare un'attività panoramica stock con barra di azione
  • Aggiungi button per il video a schermo integer con il lettore exo
  • I thread WebView non si fermano mai (WebViewCoreThread, CookieSyncManager, http )
  • Punch un foro in un rettangolo overlay con accelerazione HW abilitato su View
  • Come faccio a cambiare il formato di data in Android?
  • INSTALL_PARSE_FAILED_INCONSISTENT_CERTIFICATES sull'installazione di adb
  • 4 Solutions collect form web for “Imansible trovare i file di intestazione – Android NDK”

    Lo risolvo, ottenendo tutte le intestazioni in una cartella e includendo la seguente row nell'Android.mk

     LOCAL_C_INCLUDES := $(LOCAL_PATH)/include-all 

    Questo funziona, ma non sembra l'approccio migliore.

    Sono un po 'in ritardo per questa festa, ma ho incontrato la stessa questione e potrei avere una risposta per il tuo commento: "Questo funziona, ma non sembra l'approccio migliore"

    C'è un esempio nel NDK chiamato "module-exports" Esso mostra come build un file Android.mk che rispetti i file di intestazione che vivono nelle proprie directory e non tutti sono stati scaricati in una singola directory di inclusione.

     LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) LOCAL_MODULE := foo LOCAL_SRC_FILES := foo/foo.c LOCAL_CFLAGS := -DFOO=2 LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/foo LOCAL_EXPORT_CFLAGS := -DFOO=1 LOCAL_EXPORT_LDLIBS := -llog include $(BUILD_STATIC_LIBRARY) include $(CLEAR_VARS) LOCAL_MODULE := bar LOCAL_SRC_FILES := bar/bar.c LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/bar LOCAL_STATIC_LIBRARIES := foo include $(BUILD_SHARED_LIBRARY) include $(CLEAR_VARS) LOCAL_MODULE := zoo LOCAL_SRC_FILES := zoo/zoo.c LOCAL_SHARED_LIBRARIES := bar include $(BUILD_SHARED_LIBRARY) 

    Anni dopo…

    Per esportre la directory include anziché i singoli file, utilizzo quanto segue:

     LOCAL_EXPORT_C_INCLUDE_DIRS := $(MY_DIRECTORY_PATH) 

    Ad esempio, per la domanda di cui sopra l'esportzione per "foo" sarebbe simile:

     LOCAL_EXPORT_C_INCLUDE_DIRS := $(LOCAL_PATH)/foo 

    Per la comodità dei nuovi utenti, voglio solo aggiungere che sposta tutti i file di intestazione nella cartella che viene indicata da LOCAL_C_INCLUDES: = $ (LOCAL_PATH) e quindi salva android.mk e riavvia l'eclipse. Dopo aver provato tutte le soluzioni di cui sopra, che ha funzionato per me.

    L'Android è un fan Android di Google, tutto su telefoni Android, Android Wear, Android Dev e applicazioni Android Games e così via.