2014-10-18 4 views
2

Я новичок в Android Programmin и Eclipse. Я использую Eclipse Luna (версия 4.4). Я импортировал проект OpenCV-face detection в Eclipse, но когда я попытаюсь его построить, Eclipse сообщит мне об этой ошибке:ОШИБКА: make.exe: *** Нет правила делать цель

Описание: make.exe: *** Никакого правила сделать цель `../ ../sdk/native/jni/OpenCV.mk. Стоп. Ресурс: OpenCV Образец - обнаружения лица Тип: C/C++ Проблема

Я думаю, что файл, который вызывает эту ошибку в Android.mk, содержащийся в каталоге JNI и это его код:

LOCAL_PATH := $(call my-dir) 

include $(CLEAR_VARS) 

#OPENCV_CAMERA_MODULES:=off 
#OPENCV_INSTALL_MODULES:=off 
#OPENCV_LIB_TYPE:=SHARED 
include ../../sdk/native/jni/OpenCV.mk 

LOCAL_SRC_FILES := DetectionBasedTracker_jni.cpp 
LOCAL_C_INCLUDES += $(LOCAL_PATH) 
LOCAL_LDLIBS += -llog -ldl 

LOCAL_MODULE  := detection_based_tracker 

include $(BUILD_SHARED_LIBRARY) 

на 8-й строки предыдущего файла:

include ../../sdk/native/jni/OpenCV.mk 

Eclipse, сообщить мне это предупреждение:

Описание: Производитель: ../../sdk/native/j п/OpenCV.mk: Нет такого файла или каталога ресурсов: Android.mk Путь:/OpenCV Образец - обнаружения лица/JNI Расположение: линия 8 Тип: C/C++ Проблема

Может кто-нибудь мне помочь? Прошу прощения за мой английский XD

ответ

3

Образцы OpenCV настроены на использование относительных путей внутри пакета SDK, поэтому при импорте проекта в рабочую область вы не должны использовать параметр «копировать проект в рабочее пространство».

В вашем случае вам необходимо заменить относительный путь «../../sdk/native/jni/OpenCV.mk» в файле Android.mk с полным полным путем к нему.

Также вы можете забыть определить переменную среды NDKROOT?

Следуйте этот учебник, чтобы правильно импортировать и определить все переменные среды для нативного развития:

http://docs.opencv.org/trunk/doc/tutorials/introduction/android_binary_package/android_dev_intro.html#building-application-native-part-from-eclipse-cdt-builder

Другого учебником: Перейти в раздел Native/C++ следующего документа и убедитесь, что все переменные установлены правильно для нативного развития:

http://docs.opencv.org/doc/tutorials/introduction/android_binary_package/dev_with_OCV_on_Android.html#native-c

+0

Путь к OpenCV.mk был неправильным.Я определил NDKROOT в C/C++ Build envoirment, но теперь у меня есть 5 предупреждений, вызванных мертвым кодом и неустранимым кодом, и это предупреждение 2: 1) Описание: Недопустимый путь к проекту: Включить путь не найден (C: \ Users \ Salvatore \ sdk \ native \ jni \ include) - Resource OpenCV Sample - определение лица - Location: pathentry - Тип: Path Entry Problem 2) Описание: Недопустимый путь к проекту: Include path not found (C: \ Users \ Salvatore \ workspace \ android-ndk- r10b \ sources \ cxx-stl \ gnu-libstdC++ \ include) - Resource OpenCV Sample - обнаружение лица - Location: pathentry - Тип: проблема ввода пути – Salva

+0

Сначала: Убедитесь, что существуют два пути. Во-вторых: Если вы используете Windows + Eclipse, попробуйте изменить обратную косую черту «\», чтобы слэш «/» в списке «Путь» и «Символы» для opencv jni libs. Пример: Неверный -> C: \ Users \ Salvatore \ sdk \ native \ jni \ include Исправить -> C:/Пользователи/Salvatore/sdk/native/jni/include – Overclocker

0

Я знаю, что это старый вопрос, но все-таки, если это поможет:

In my case I had to replace the relative path "../../sdk/native/jni/OpenCV.mk" in the Android.mk file with full absolute path.

enter image description here

0

Его ОК, чтобы использовать относительный путь. В моем случае, я нахожу, что другая ОС может разбирать строку пути по-разному.

Попробуйте заменить:

../../sdk/native/jni/OpenCV.mk 

с

..\..\sdk\native\jni\OpenCV.mk 

/ работает на моем Mac OS.

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