【问题标题】:Build Error with Android+JNI+OpenCV使用 Android+JNI+OpenCV 构建错误
【发布时间】:2015-03-20 06:50:17
【问题描述】:

我是 Android OpenCV+NDK 开发的新手。我想找出 Android 中图像中最大的轮廓,因为我正在尝试在 Eclipse 中构建 JNI Integrated 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 > >' 在 Point points = contours.toArray(); 处没有名为 '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] 编译++ thumb:native_sample >' 没有名为 'toArray' 的成员 jni/jni_part.cpp:82:25: 错误: 'points[i]' 中的'operator[]' 不匹配 make: *
[obj/local/armeabi-v7a/objs-debug/native_sample/jni_part.o] 错误1

请帮助我知道我缺少什么。

【问题讨论】:

  • dude 使用 OpenCV lib for android 更舒服
  • 我用过 Android OpenCV 库。

标签: android opencv android-ndk java-native-interface


【解决方案1】:

我错误地包含的第一件事

 ${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++ 常规)并选择使用项目设置并取消选中所有复选框。

【讨论】:

    猜你喜欢
    • 2019-07-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-19
    • 1970-01-01
    • 1970-01-01
    • 2012-11-09
    • 1970-01-01
    相关资源
    最近更新 更多