c++ - Affdex 'opencv-webcam-demo' 在 Ubuntu 16.04 中崩溃

标签 c++ opencv boost ubuntu-16.04 affdex-sdk

我制作了一个程序,该程序基于找到的 affdex git 页面上的演示程序 here .这是名为“opencv-webcam-demo”的演示。我当时运行的是 Ubuntu 14.04,运行良好。然后我升级到 Ubuntu 16.04,现在演示(即使没有我的更改)也无法正常运行。我尝试安装最新版本的 opencv 和 boost 并确认它们已正确安装,但我仍然遇到同样的问题。

这是我在 Ubuntu 16.04 中运行程序时的输出:

ethan@ethan-HP-Pavilion-dv6-Notebook-PC:~/leepsProgram/build/opencv-webcam-demo$ ./opencv-webcam-demo --help
Hit ESCAPE key to exit app..
Encountered an exception std::exception*** Error in `./opencv-webcam-demo': free(): invalid pointer: 0x0000000001c71ca8 ***
======= Backtrace: =========
/lib/x86_64-linux-gnu/libc.so.6(+0x77725)[0x7f0ce2798725]
/lib/x86_64-linux-gnu/libc.so.6(+0x7ff4a)[0x7f0ce27a0f4a]
/lib/x86_64-linux-gnu/libc.so.6(cfree+0x4c)[0x7f0ce27a4abc]
./opencv-webcam-demo(_ZN5boost10filesystem4pathD1Ev+0x18)[0x469c86]
/lib/x86_64-linux-gnu/libc.so.6(__cxa_finalize+0x9a)[0x7f0ce275b35a]
/home/ethan/libraries/affdex-sdk/lib/libaffdex-native.so(+0x5273a3)[0x7f0ce642a3a3]

还有一个内存映射,如果有帮助请告诉我,我也可以将其粘贴到这里。

到目前为止,我已经尝试弄清楚代码的哪些部分有效,哪些部分无效,并且发现如果您从程序中删除 boost,它将一直运行到 Affdex 必须指定数据路径为止文件夹,此时它抛出一个 Affdex 异常,指出数据路径必须是非空的。但是它不应该为空,因为我在开始时设置了它。

affdex::path DATA_FOLDER = "<path to data folder>";
...
frameDetector->setClassifierPath(DATA_FOLDER);

不过,删除 boost 并不理想,因为它已经为我编写了代码。但是,如果我必须删除 boost,那么我也必须解决这个问题。

库及其版本/操作系统版本:

  • boost 1.59.0

  • OpenCV 3.1.0

  • Affdex 3.1-396

  • Ubuntu 16.04

这些库与 Ubuntu 16.04 兼容吗?

感谢您的帮助。非常感谢。

最佳答案

我认为问题在于您将库与使用不兼容版本的 libstdc++ 编译的库混合在一起。您使用的编译器版本是什么?

当前版本的 linux SDK 是用 GCC 4.8 编译的

关于c++ - Affdex 'opencv-webcam-demo' 在 Ubuntu 16.04 中崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39281435/

相关文章:

c++ - 将 hDC 转换为 4bpp 位图

c++ - 一个简单的c++程序的编译过程

python - 属性错误 : module 'cv2' has no attribute 'VideoCapture'

iphone - 在数组中存储 cvMat 对象 - OpenCV - iPhone

c++ - boost asio 原始套接字

c++ - 使用 boost 数字绑定(bind)和 lapack 调用 gesvd 时出错

c++ - 如何在C++中对称实现序列化和反序列化模板函数

c++ - 从源代码编译与 deb 包编译

java - 为什么我的程序在视频第一帧后终止?

c++ - 在 Windows 10 VS2015 上构建 Boost - 无法打开 *.lib