2

我正在尝试使用 Cygwin 为我的 Android ndk 应用程序创建 .so 文件。但是 Cygwin 终端显示以下错误。

$ /cygdrive/c/native_work/android-ndk-r8b/ndk-build
Cygwin         : Generating dependency file converter script
Compile++ thumb  : main <= main.cpp
In file included from jni/NotePaperDetector.hpp:4:0,
             from jni/main.cpp:1:
jni/NoteLocation.hpp:4:30: fatal error: opencv2/opencv.hpp: No such file or directory
compilation terminated.
/cygdrive/c/native_work/android-ndk-r8b/build/core/build-binary.mk:255: recipe for         target `obj/local/armeabi/objs/main  /main.o' failed
make: *** [obj/local/armeabi/objs/main/main.o] Error 1

我的 jni 文件夹中有以下文件 -

NotePaperDetector.hpp 
NotePaperDetector.cpp 
NoteDescription.hpp 
NoteDescription.cpp 
NoteLocation.hpp 
NoteLocation.cpp 
ImageUtils.hpp
ImageUtils.cpp
MarkerCandidate.hpp
MarkerCandidate.cpp
main.cpp

Android.mk 文件是 -

  LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)

# Here we give our module name and source file(s)
LOCAL_MODULE    := main
LOCAL_SRC_FILES := main.cpp

include $(BUILD_SHARED_LIBRARY)
4

1 回答 1

2

系统找不到 OpenCV 安装路径。您需要将LOCAL_C_INCLUDES变量添加到指向该OpenCV文件夹的 Android.mk,即:

LOCAL_PATH := $(call my-dir)
LOCAL_C_INCLUDES += $(LOCAL_PATH)/../../opencv
于 2012-09-25T10:28:46.220 回答