我在运行 openCV 示例项目 (3 - 4) 时遇到问题。每次运行该程序时,我都发现我的 Android 模拟器中显示“不幸的是 OpenCV 管理器已停止”的问题。
每次我打电话都会出现问题
OpenCVLoader.initAsync(OpenCVLoader.OPENCV_VERSION_2_4_3, this, mLoaderCallback);
我关注了这个页面
http://docs.opencv.org/doc/tutorials/introduction/android_binary_package/dev_with_OCV_on_Android.html
这是我收到的警告信息
Logcat(来自 OpenCV 示例 4):
笔记:
(跟随这个页面: 'Must Override a Superclass Method' Errors after importing a project into Eclipse )
最佳答案
我遇到了同样的问题:
隐藏符号 '__aeabi_atexit' armeabi-v7a/libgnuSTL_static.a(atexit_arm.o) 被 DSO 引用
我在 jni 中使用 opencv 测试,在我添加它之前有一个工作正常的应用程序。
我试图在“Application.mk”中将 ARMv7-A 机器更改为 armeabi
我还尝试将上面提到的所有路径添加到 Project -> Properties -> C/C++ General -> Path and Symbols。
它没有用。
感谢我的团队领导,我找到了解决方案:
在 Application.mk 中,您需要更改 APP_STL := gnuSTL_static
到 APP_STL := gnuSTL_shared。这是因为 lib 显然是在共享而不是静态中编译的。
另外,在loadlibrary区添加lib:System.loadLibrary("gnuSTL_shared");
这应该在静态区域中完成,如下所示:
static {
try{
System.loadLibrary("gnustl_shared");
//To do - add your static code
}
catch(UnsatisfiedLinkError e) {
Log.v(TAG, "Native code library failed to load.\n" + e);
}
catch(Exception e) {
Log.v(TAG, "Exception: " + e);
}
}
就是这样!它解决了我的问题...
希望它有所帮助。
英巴尔
关于android - 不幸的是,OpenCV 管理器已在 OpenCV 2.4.3 for android 4.2 (Mac OSX 10.7) 中停止,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13447322/