EclipseでOpenCVとJNIの部分を使用してAndroidアプリケーションを構築するときに問題が発生しました。
問題は、プロジェクトに対してndk-buildが正常に実行されることですが、Eclipseはエラーを表示します(通常はコードとは無関係です)。
たとえば、OpenCV4Androidサンプルの1つを作成しています。
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フォルダーを削除しようとしましたが、効果がありません。
私のシステムはubuntu12.04で、OpenCVのバージョンは2.4.3です。
助けてくれてありがとう!