在 Eclipse 中使用 OpenCV 和 JNI 部分构建 android 应用程序时遇到问题。
问题在于项目的 ndk-build 正常运行,但 Eclipse 显示错误(通常与代码无关)。
例如,我正在构建 OpenCV4Android 示例之一:
boris@boris-ubuntu:~/src/OpenCV-2.4.3-android-sdk/samples/tutorial-3-native$ ndk-build
Install : libnative_camera_r2.2.0.so => libs/armeabi-v7a/libnative_camera_r2.2.0.so
Install : libnative_camera_r2.3.3.so => libs/armeabi-v7a/libnative_camera_r2.3.3.so
Install : libnative_camera_r3.0.1.so => libs/armeabi-v7a/libnative_camera_r3.0.1.so
Install : libnative_camera_r4.0.0.so => libs/armeabi-v7a/libnative_camera_r4.0.0.so
Install : libnative_camera_r4.0.3.so => libs/armeabi-v7a/libnative_camera_r4.0.3.so
Install : libnative_camera_r4.1.1.so => libs/armeabi-v7a/libnative_camera_r4.1.1.so
Install : libnative_sample.so => libs/armeabi-v7a/libnative_sample.so
Install : libopencv_java.so => libs/armeabi-v7a/libopencv_java.so
它运行正常,但 Eclipse 显示错误:
'size_t' is ambiguous '
Candidates are:
Field 'pt' could not be resolved
Field 'pt' could not be resolved
Field 'x' could not be resolved
Field 'y' could not be resolved
Invalid arguments '
Candidates are:
void detect(const cv::Mat &, ? &, const cv::Mat &)
void detect(const ? &, ? &, const ? &)
The type 'cv::FastFeatureDetector' must implement the inherited pure virtual method 'cv::FeatureDetector::detectImpl'
以及其他项目中的类似错误。而且,Eclipse 智能感知(或者它是如何正确调用的 :) 不适用于 .cpp 文件。
我试图清理项目,删除 obj 和 lib 文件夹,但没有效果。
我的系统是ubuntu 12.04,OpenCV版本是2.4.3。
谢谢你的帮助!