我是Android OpenCV + NDK开发的新手。我想找出Android中图像中最大的轮廓,我想在eclipse中构建JNI集成OpenCV Android项目。我已经包括
${NDKROOT}/sources/cxx-stl/gnu-libstdc++/libs/armeabi-v7a/include
${NDKROOT}/sources/cxx-stl/gnu-libstdc++/include
${ProjDirPath}/../../sdk/native/jni/include
${NDKROOT}/platforms/android-9/arch-arm/usr/include
/usr/include/c++/4.6
/usr/include
${NDKROOT}/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86_64/lib/gcc/arm-linux-androideabi/4.8/include
项目 - >属性 - > C / C ++一般 - >路径和符号 - >包含在GNU C ++下
如果我尝试构建项目,我仍然会收到构建错误。
将错误显示为' class std :: vector> >'没有名为' toArray'在Point point = contours.toArray();
这一行这是什么错误。我该如何解决这个问题。
我的控制台输出是:
*增量构建配置项目默认为OpenCV-Square-Tracking-Android-JNI-master ****
/ home / dharaniinfotech / Downloads / android-ndk-r10d / ndk-build all
Android NDK:警告:jni / Android.mk:native_sample:链接器标志中的非系统库:-lboost_system-gcc-mt-1_53 -lboost_regex-gcc-mt-1_53 -lboost_filesystem-gcc-mt-1_53 -lboost_date_time-gcc- MT-1_53
Android NDK:这可能会导致错误的构建。尝试使用LOCAL_STATIC_LIBRARIES
Android NDK:或LOCAL_SHARED_LIBRARIES代替列出了图书馆的依赖关系
Android NDK:当前模块
[armeabi-v7a] Compile ++ thumb:native_sample< = jni_part.cpp
jni / jni_part.cpp:函数' jint Java_org_opencv_samples_tutorial3_Sample3Native_FindSquares(JNIEnv *,jobject,jlong,jint)':
jni / jni_part.cpp:77:30:错误:' class std :: vector> >'没有名为' toArray'
jni / jni_part.cpp:82:25:错误:不匹配'运算符[]' in' points [i]'
make:* [obj / local / armeabi-v7a / objs-debug / native_sample / jni_part.o]错误1
请帮助我知道我错过了什么。
答案 0 :(得分:0)
我错误地将
包括在内的第一件事 ${NDKROOT}/sources/cxx-stl/gnu-libstdc++/libs/armeabi-v7a/include
${NDKROOT}/sources/cxx-stl/gnu-libstdc++/include
他们应该像
${NDKROOT}/sources/cxx-stl/gnu-libstdc++/4.8/libs/armeabi-v7a/include
${NDKROOT}/sources/cxx-stl/gnu-libstdc++/4.8/include
转到代码分析(右键单击项目 - > C / C ++常规)并选择使用项目设置并取消选中所有复选框。