Je suis en train de construire sqlite en utilisant l'android NDK pour utiliser une fonction sqlite3_create_function mais je ne reçois aucune règle pour faire erreur cible. make: *** No rule to make target '/fts3-rank.c', needed by '.../obj/local/armeabi/objs/fts3-rank//fts3-rank.o'. Stop.
Ce fichier Android.mk est basé sur de l'un sur ce site: http://www.roman10.net/how-to-compile-sqlite-for-android-using-ndk/Aucune règle pour faire erreur cible android ndk construire sqlite
#LOCAL_PATH is used to locate source files in the development tree.
#the macro my-dir provided by the build system, indicates the path of the current directory
LOCAL_PATH := $(call my_dir)
#####################################################################
# build sqlite3 #
#####################################################################
include $(CLEAR_VARS)
LOCAL_C_INCLUDES := $(LOCAL_PATH)/sqlite-amalgamation-3071700
LOCAL_MODULE := sqlite3
LOCAL_SRC_FILES := $(LOCAL_PATH)/sqlite-amalgamation-3071700/sqlite3.c
include $(BUILD_STATIC_LIBRARY)
#include $(BUILD_SHARED_LIBRARY)
#####################################################################
# build our code #
#####################################################################
include $(CLEAR_VARS)
LOCAL_C_INCLUDES := $(LOCAL_PATH)/sqlite-amalgamation-3071700
LOCAL_MODULE := fts3-rank
LOCAL_SRC_FILES := fts3-rank.c
LOCAL_STATIC_LIBRARIES := libsqlite3
#LOCAL_SHARED_LIBRARIES:=libsqlite3
LOCAL_LDLIBS := -llog -lm
#include $(BUILD_SHARED_LIBRARY)
include $(BUILD_EXECUTABLE)
Ceci est probablement causé par une combinaison d'un modèle correspondant à faire la règle et la présence d'une double barre oblique ('... // fts3- rang.o'); alternativement, '/ fts3-rank.c' peut manquer un préfixe (quelque chose comme' $ (SRC)/fts3-rank.c' deviendra '/ fts3-rank.c' si' SRC' n'est pas défini). – technomage
Je reçois juste 'make: *** Aucune règle pour faire la cible '/fts3-rank.c', nécessaire pour 'obj/local/armeabi/objs/fts3-rank/fts3-rank.o'. Arrêtez maintenant et ne pouvez toujours pas le comprendre ... J'ai essayé d'ajouter $ (LOCAL_PATH) et d'ajouter fts3-rank.c à sqlite amalgamation et toujours rien. – John61590
Exécutez «make» avec «-d», puis recherchez les lignes contenant «'/fts3-rank.c ». Lorsque vous trouvez la règle, regardez les lignes de sortie précédentes pour déterminer où la règle est définie; puis regardez dans ce makefile pour voir la règle d'origine qui devrait rendre évidente quelle macro manque une définition. – technomage