I'm developing C++ application program under Ubuntu 20.04, with two libraries each has its own linked OpenCV version. The library calling is like the following:
Application (OpenCV 4.5.3)
└──Library A (OpenCV 4.5.3)
└──Dynamic loaded plugin of library A (link to OpenCV 4.5.3)
└──Prebuilt library B
└──Dynamic loaded plugin of library B (link to OpenCV 3.4.1)
Most of the components are all organized with CMakeLists and compiled locally, except the prebuilt library B and its plugins since the source codes are not available.
Every time I execute the application will get an cv::Exception like this:
OpenCV(4.5.3-openvino) ../opencv/modules/core/src/matrix_wrap.cpp:910: error: (-213:The function/feature is not implemented)
Using GDB to see the dumped call stack, it's odd that at runtime the plugin of library B will eventually link to the .so of 4.5.3. Is there any compiler options or something else missing to cause this problem?