首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >“OpenCvSharp.NativeMethods”抛出了一个例外。无法加载共享库“OpenCvSharpExtern”或其依赖项之一。

“OpenCvSharp.NativeMethods”抛出了一个例外。无法加载共享库“OpenCvSharpExtern”或其依赖项之一。
EN

Stack Overflow用户
提问于 2020-03-31 11:36:08
回答 1查看 2.4K关注 0票数 11

我在我的OpenCvSharp核心3.0应用程序中使用了.net库,在windows环境中运行此应用程序时,应用程序运行时没有任何问题。当部署相同的应用程序并在运行在ubuntu18.04中的对接程序中托管时,会发生以下异常:

代码语言:javascript
复制
System.DllNotFoundException: Unable to load shared library 'OpenCvSharpExtern' or one of its dependencies.

我已经安装了在ubuntu环境中运行OpenCvSharp4所需的以下软件包(nuget):

  • OpenCvSharp4.runtime.ubuntu.18.04-x64

  • OpenCvSharp4 OpenCvSharp4

当使用以下命令检查libOpenCvSharpExtern.so库的依赖性时:

代码语言:javascript
复制
ldd libOpenCvSharpExtern.so

有些依赖程序集丢失了,所以我安装了所有必要的包,这些包在下面的GitHub线程中提到,它报告了同样的问题:

https://github.com/shimat/opencvsharp/issues/889

但是仍然发现缺少一些依赖项,这些程序集的名称如下所示:

  • libavcodec.so.57 =>没有找到
  • libavformat.so.57 =>没有找到found
  • libavutil.so.55 =>没有找到
  • libswscale.so.4 =>没有找到found
  • libjpeg.so.8 =>没有找到

我还尝试安装了以下软件包“libjpeg62 62-turbo-dev”和“libavcodec-not 57”,用于修复‘not’程序集。但问题还是发生了。

如能就如何解决这一问题提出建议,将不胜感激。

EN

Stack Overflow用户

发布于 2021-03-08 13:09:30

我们也有同样的问题。经过大量实验,我们让它使用以下设置(Docker):

csproj

代码语言:javascript
复制
<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <TargetFrameworks>netstandard2.0;net472</TargetFrameworks>
  </PropertyGroup>
  <ItemGroup>
    <PackageReference Include="OpenCvSharp4" Version="4.4.0.20200725" />
    <PackageReference Include="OpenCvSharp4.runtime.debian.10-amd64" Version="4.3.0.20200424" />
    <PackageReference Include="OpenCvSharp4.runtime.win" Version="4.4.0.20200725" />
    <PackageReference Include="System.Drawing.Common" Version="4.7.0" />
  </ItemGroup>
</Project>

码头文件

代码语言:javascript
复制
[...]

FROM mcr.microsoft.com/dotnet/core/aspnet:3.1
[...]

RUN apt-get update && apt-get install -y \
    apt-utils \
    libgdiplus \
    libc6-dev \
    libgtk2.0-dev \
    libtbb-dev \
    libatlas-base-dev \
    libvorbis-dev \
    libxvidcore-dev \
    libopencore-amrnb-dev \
    libopencore-amrwb-dev \
    libavresample-dev \
    x264 \
    v4l-utils \
    libwebp-dev \
    tesseract-ocr \
    libtesseract-dev \
    libleptonica-dev \
    libtiff-dev \
    libavcodec-dev \
    libavformat-dev \
    libswscale-dev \
    libdc1394-22-dev \
    libxine2-dev \
    libv4l-dev
RUN apt-get clean && rm -rf /var/lib/apt/lists/*

[...]

不幸的是,我不太确定哪一个apt软件包成功了,我很高兴它现在起作用了;)

票数 4
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60949635

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档