【问题标题】:How to run OpenCvSharp on Ubuntu 18.04?如何在 Ubuntu 18.04 上运行 OpenCvSharp?
【发布时间】:2019-05-31 01:27:47
【问题描述】:

我在 Ubuntu Linux 上运行 OpenCvShare 时遇到问题。它一直说找不到 libOpenCvSharpExtern。

我在 Ubuntu 18.04.1 x64 上运行 OpenCvSharp 时遇到问题。我创建了一个 .NET Core/Standard 解决方案(Standard 是一个库项目,Core 是运行器)。库项目引用 Nuget 包: OpenCvSharp4 (4.0.0.20181225) OpenCvSharp4.runtime.ubuntu.18.04-x64 (4.0.0.20181225)。

然后,在成功编译后,我使用以下命令发布了运行器项目:

dotnet publish -c Release -r ubuntu.18.04-x64

当我在 Ubuntu 上运行可执行文件时,抛出以下错误:

Unhandled Exception: OpenCvSharp.OpenCvSharpException: Failed to create VideoCapture System.TypeInitializationException: The type initializer for 'OpenCvSharp.NativeMethods' threw an exception. OpenCvSharp.OpenCvSharpException: Unable to load shared library 'OpenCvSharpExtern' or one of its dependencies. In order to help diagnose loading problems, consider setting the LD_DEBUG environment variable: libOpenCvSharpExtern: cannot open shared object file: No such file or directory ---> System.DllNotFoundException: Unable to load shared library 'OpenCvSharpExtern' or one of its dependencies. In order to help diagnose loading problems, consider setting the LD_DEBUG environment variable: libOpenCvSharpExtern: cannot open shared object file: No such file or directory

文件 libOpenCvSharpExtern.so 与可执行文件位于同一路径,我也将其复制到 usr/local/lib 中,但 id 没有帮助。应用程序旨在根据摄像头馈送检测人脸。

【问题讨论】:

  • 我也有同样的问题。
  • 我什至在 Ubunty 18.04 上成功编译了 opencv 和 opencvsharp,即使这样也没有检测到。

标签: c# opencv ubuntu opencvsharp


【解决方案1】:

好的,我终于让它运行起来了。问题出在包含路径中。当你执行 ldd libOpenCvSharpExtern.so 来自 lib 所在路径中的终端,它将输出此使用的所有引用库。最初,我有完整的“未找到”引用列表。所有缺少的库都已安装在/usr/local/lib 中。事实证明,该路径不是系统查找库的默认路径。 Link to a question on ubuntu forum

在我添加之后 export LD_LIBRARY_PATH="/lib:/usr/lib:/usr/local/lib" 环境变量并重新启动系统,一切都开始工作了,在 libOpenCvSharpExtern.so 库上使用 ldd 清楚地表明,所有库都已找到。

【讨论】:

    猜你喜欢
    • 2020-09-29
    • 1970-01-01
    • 2019-09-04
    • 1970-01-01
    • 2020-08-16
    • 2020-04-14
    • 2019-03-26
    • 2020-05-15
    • 2023-04-04
    相关资源
    最近更新 更多