我尝试构建ndk并获取错误
/android-ndk-r9/build/core/prebuilt-library.mk:68: *** 目标模式不包含'%'。停止。****
我的Android.mk代码是:
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
OPENCV_CAMERA_MODULES := on
OPENCV_INSTALL_MODULES := on
#OPENCV_LIB_TYPE:=SHARED
include D:/Books/Java/winx86_01Jan12/OpenCV-2.4.9-android-sdk/sdk/native/jni/OpenCV.mk
LOCAL_SRC_FILES := F_jni.cpp
LOCAL_C_INCLUDES += $(LOCAL_PATH)
LOCAL_LDLIBS += -llog -ldl
LOCAL_MODULE := f
include $(BUILD_SHARED_LIBRARY)
请帮助直到我解决我的问题。我真的很困惑。我尝试了几种方法,但我无法解决我的问题。
答案 0 :(得分:1)
ndk-build
调用make
,它无法很好地处理目标中的:字符。如果您的项目也位于磁盘D:上,那么您可以参考没有驱动器号的OpenCV,
include /Books/Java/winx86_01Jan12/OpenCV-2.4.9-android-sdk/sdk/native/jni/OpenCV.mk
否则你可以尝试
include //D/Books/Java/winx86_01Jan12/OpenCV-2.4.9-android-sdk/sdk/native/jni/OpenCV.mk
include //localhost/D$/Books/Java/winx86_01Jan12/OpenCV-2.4.9-android-sdk/sdk/native/jni/OpenCV.mk
如果没有任何帮助,请复制您的OpenCV SDK,以便您可以使用相对路径,例如
include ../../OpenCV-2.4.9-android-sdk/sdk/native/jni/OpenCV.mk
PS 你的麻烦来源可能是路径上某处的 cygwin 。自2011年11月起,NDK r7,ndk-build
不需要 cygwin 。 OpenCV 之后做出了往复步骤。不幸的是,许多开发人员仍需要 cygwin 进行日常工作;此外,直到最近,你还需要 cygwin 来运行 ndk-dgb (你现在有 ndk-gdb-py.cmd
!)。所以我的建议是在运行 cygwin\bin
之前从PATH中删除ndk-build.cmd
目录。如果使用Ecliplse / ADT构建本机代码,则可以在Project构建属性中轻松完成。