静态和动态链接同一库与不同版本

时间:2018-10-01 14:21:11

标签: opencv c++11 cmake arm cross-compiling

我有一个不带FFMPEG的分叉版本的OpenCV(v2.4.8),它作为具有某些自定义更改的静态链接库(libopencv_core.a,libopencv_highgui.a等)编译而成,我将其链接指向我的库libsdk.so。

我目前正在通过libsdk.so构建示例应用程序,这些自定义应用程序直接使用OpenCV的highgui和来自(ap-get)程序包管理器(v2.4.9或v3.3)的核心来打开相机并从视频中获取帧。 / p>

我的示例应用程序处理了一个视频,然后引发了段错误,

  来自av_malloc()中的

0x0000007fb20ca770   /usr/lib/aarch64-linux-gnu/libavutil-ffmpeg.so.54

我正在使用CMake来编译这些库,我认为这可能是由于调用析构函数时未解析符号引起的。是否有任何工具可以弄清楚到底发生了什么。当我将示例应用程序链接到定制编译的opencv时,它们可以正常工作。这种方法适用于linux ubuntu x86_64,但不适用于arm64(交叉编译)

编辑:我正在写这篇文章,以获取关于此处可能存在的问题的建议和反馈,当前示例应用程序在尝试释放内存时冻结。此示例应用程序是用C ++ 11编写的。

0 个答案:

没有答案
相关问题