使用OpenCV2.3.1与Android Native Activity出现问题

14

我正在为Android开发计算机视觉应用程序。

该工作涉及尽可能快地获取相机帧,因此我正在尝试使用“android_native_app_glue”和“libnative_camera”直接在c++中构建Android应用程序来获取相机帧。但它似乎不兼容。

我测试了两个选项:

  1. 我尝试在Android NDK示例“NativeActivity”上使用OpenCV,只需进行少量必要的更改(将示例转换为c ++、修改android.mk和application.mk以及使用命名空间和包括)。它会出现以下错误:

sharedLibrary : libnative-activity.so C:/Development/android-opencv-wsp/samples/native-activity/obj/local/armeabi-v7a/objs/native-activity/main.o: In function ~Mat': C:\Development\android-opencv-wsp\samples\native-activity/../../OpenCV-2.3.1/share/OpenCV/../../include/opencv2/core/mat.hpp:297: undefined reference tocv::fastFree(void*)' 等等

  1. 我尝试导入必要的库来创建OpenCV2.3.1教程3示例的本地活动。我只是修改了Android.mk并添加了:

LOCAL_STATIC_LIBRARIES := android_native_app_glue

当我添加了这行代码后,立即出现以下错误:

SharedLibrary : libnative_sample.so C:/Development/android-opencv-wsp/samples/tutorial-3-native/obj/local/armeabi-v7a/objs/native_sample/jni_part.o: In function ~Mat': C:\Development\android-opencv-wsp\samples\tutorial-3-native/../../OpenCV-2.3.1/share/OpenCV/../../include/opencv2/core/mat.hpp:297: undefined reference tocv::fastFree(void*)' 等等……

请问有没有人尝试过使用OpenCV2.3.1和libnative_camera创建纯本地活动来获取相机帧?

提前感谢。

3个回答

1
我解决了那个问题。问题出在我写的 Android.mk 文件中,我写成了这一行:LOCAL_STATIC_LIBRARIES := android_native_app_glue,而不是这一行:LOCAL_STATIC_LIBRARIES += android_native_app_glue。我需要“加号”符号来添加新库而不是删除先前加载的库。无论如何,谢谢!@Adi Shavit - 谢谢

0

2
我已经解决了那个问题。像往常一样,这是我的错(笑)。问题在于我在Android.mk文件中写了这行代码:LOCAL_STATIC_LIBRARIES := android_native_app_glue,而不是这行代码:LOCAL_STATIC_LIBRARIES += android_native_app_glue。我需要使用“加号”符号,以便添加新库而不是删除先前加载的库。无论如何,还是谢谢! - Edanna
@Edanna:为什么不自己回答并标记问题已解决? - Adi Shavit

0
将LOCAL_STATIC_LIBRARIES:= android_native_app_glue更改为LOCAL_STATIC_LIBRARIES + = android_native_app_glue。请注意加号。这将添加新库而不删除先前加载的库。来源:评论中的Edanna

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接