2015-10-20 2 views
1

Я пытаюсь установить проект NDK в Eclipse. Я создал NDK, так как мои тестовые программы работают правильно. Но теперь, когда я бег моего кода, который я перед этой ошибкойОтсутствует LOCAL_MODULE перед включением BUILD_SHARED_LIBRARY

*** Android NDK: Отсутствует LOCAL_MODULE перед включением BUILD_SHARED_LIBRARY в JNI/Android.mk. Стоп.

Я попытался решить ее через этот вопрос Android NDK: Missing LOCAL_MODULE before including BUILD_SHARED_LIBRARY

Но, он не работает. Пожалуйста, помогите мне. Ниже мой Android.mk файл

LOCAL_PATH:= $(call my-dir) 
include $(CLEAR_VARS) 
OPENCV_CAMERA_MODULES:= off 
OPENCV_MK_PATH:D:\FYP\darwinwallet-master\OpenCV-2.4.9-android-sdk\sdk\native\jni\OpenCV.mk 
OPENCV_LIB_TYPE:=STATIC 
OPENCV_INSTALL_MODULES:=on 
include $(OPENCV_MK_PATH) 
LOCAL_C_INCLUDES:=D:\FYP\darwinwallet-master\OpenCV-2.4.9-android-sdk\sdk\native\jni\include\ 
LOCAL_MODULE:=native_wallet 
LOCAL_SRC_FILES:=jni_recognizer.cpp NativeVision/vision.cpp 
LOCAL_CFLAGS=-ffast-math -O3 -funroll-loopsLOCAL_LDLIBS+=-llog -ldl 
include $(BUILD_SHARED_LIBRARY) 

И Ниже мой build-shared-library.mk

LOCAL_BUILD_SCRIPT := BUILD_SHARED_LIBRARY 
LOCAL_MAKEFILE  := $(local-makefile) 
$(call check-defined-LOCAL_MODULE,$(LOCAL_BUILD_SCRIPT)) 
$(call check-LOCAL_MODULE,$(LOCAL_MAKEFILE)) 
$(call check-LOCAL_MODULE_FILENAME) 
my := TARGET_ 
$(call handle-module-filename,lib,$(TARGET_SONAME_EXTENSION)) 
$(call handle-module-built) 
LOCAL_MODULE_CLASS := SHARED_LIBRARY 
include $(BUILD_SYSTEM)/build-module.mk 
+0

** build-shared-library.mk ** не принадлежит вам; это часть NDK, и вы ожидаете, что не будете слишком много заниматься этим. Вы можете удалить его из своего вопроса. –

ответ

1

Не используйте обратную косую черту в ваших замыкающие файлов, это слишком опасно , Даже в Windows вы можете использовать косые черты, т. Е. Изменить все \ до /. Это немедленно устранит вашу проблему.

В частности, линия, где вы определяете LOCAL_C_INCLUDES заканчивается \, что означает для сделать, что это не конец. сделать послушно присоединяется к следующей строке, так что это на самом деле видит что-то вроде

… 
LOCAL_C_INCLUDES:=D:\…\include\LOCAL_MODULE:=native_wallet 
LOCAL_SRC_FILES:=jni_recognizer.cpp NativeVision/vision.cpp 
… 

Но на самом деле, нет необходимости повторно определить LOCAL_C_INCLUDES после вас include OpenCV.mk. Этот скрипт позаботится о том, чтобы установить для вас пути включения, флаги и библиотеки.

Смежные вопросы