在 Windows 环境中运行此应用程序时,我在我的 .net core 3.0 应用程序中使用了 OpenCvSharp 库,该应用程序运行时没有任何问题。当在 ubuntu 18.04 中运行的 docker 部署和托管相同的应用程序时,会发生以下异常:
System.DllNotFoundException: Unable to load shared library 'OpenCvSharpExtern' or one of its dependencies.
我已经安装了在 ubuntu 环境中运行 OpenCvSharp4 所需的以下软件包(nuget):
- OpenCvSharp4
- OpenCvSharp4.runtime.ubuntu.18.04-x64
当使用以下命令检查 libOpenCvSharpExtern.so 库的依赖关系时:
ldd libOpenCvSharpExtern.so
缺少一些依赖程序集,因此我安装了以下 GitHub 线程中提到的所有必要包,该线程报告了相同的确切问题:
https://github.com/shimat/opencvsharp/issues/889
但仍然发现一些依赖项丢失,这些程序集名称如下:
- libavcodec.so.57 => 未找到
- libavformat.so.57 => 未找到
- libavutil.so.55 => 未找到
- libswscale.so.4 => 未找到
- libjpeg.so.8 => 未找到
我还尝试安装以下软件包“libjpeg62-turbo-dev”和“libavcodec-extra57”来修复“未找到”程序集。但是问题还是出现了。
任何有关如何解决此问题的建议将不胜感激。