我是Android Programmin和Eclipse的初学者。我正在使用Eclipse Luna(4.4版本)。我在Eclipse中导入了“OpenCV - face detection”项目,但是当我尝试构建它时,Eclipse给了我这个错误:
描述:make.exe:***没有规则来制作目标`../../sdk/native/jni/OpenCV.mk'。停止。 资源:OpenCV Sample - 面部检测 类型: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向我报告此警告:
描述:make:../../ sdk / term / jni / OpenCV.mk:没有这样的文件或目录 资源:Android.mk 路径:/ OpenCV示例 - 面部检测/ jni 地点:8号线 类型:C / C ++问题
有人能帮助我吗?对不起我的英语XD
答案 0 :(得分:3)
OpenCV示例配置为使用SDK包内的相对路径,因此您不应该使用“将项目复制到工作区”。将项目导入工作区时的选项。
在您的情况下,您需要替换相对路径" ../../ sdk / native / jni / OpenCV.mk"在Android.mk文件中,包含完整的绝对路径。
另外,您可能忘记定义NDKROOT环境变量?
按照本教程正确导入并定义本机开发的所有环境变量:
另一个教程:转到以下文档的Native / C ++部分,确保为本机开发正确设置所有变量:
答案 1 :(得分:0)
我知道这是一个古老的问题,但如果有帮助的话仍然存在:
在我的情况下,我不得不更换相对路径 " ../../ SDK /天然的/ JNI / OpenCV.mk"在Android.mk文件中已满 绝对路径。
答案 2 :(得分:0)
可以使用相对路径。就我而言,我发现不同的OS可能会以不同的方式解析路径字符串。
尝试替换:
..\..\sdk\native\jni\OpenCV.mk
与
/
{{1}}适用于我的Mac OS。