【问题标题】:vs2017 linking realsense cameravs2017联动realsense摄像头
【发布时间】:2018-12-17 06:57:05
【问题描述】:

我正在尝试在 c# 项目中使用英特尔实感摄像头。
虽然示例代码运行良好。

我自己在不同文件夹中的项目引发了异常。 无法加载 DLL
realsense2:找不到指定的模块。(HRESULT 异常:0x8007007E)。

我现在已将 realsense2.dll 放在 lib 文件夹和调试文件夹中。 我认为它是一个非托管 dll 和另一个“Intel.RealSense.dll”接缝一个 .net 接口 dll 。我将两者都放在 lib 和调试文件夹中,我尝试在两个位置(调试文件夹和 lib 文件夹)引用 Intel.realsense.dll(.net api 包装器),但没有成功。

在英特尔论坛中,我注意到有时当 CPU 型号不正确时会引发错误,但我将这些与示例保持一致。 这一定是一些视觉工作室错误(因为英特尔示例有效)。 但我想念哪里出了问题。

【问题讨论】:

标签: c# visual-studio-2017 realsense


【解决方案1】:

第 1 步。 使用位于 /wrappers/csharp/readme.md 下的主存储库中的说明构建提供的 C++/C# 示例

  • 使用 cmake 生成 VS 解决方案(从 librealsense 根目录运行):

    • mkdir 构建
    • cd 构建
    • cmake .. -DBUILD_CSHARP_BINDINGS=ON -DBUILD_SHARED_LIBS=ON
  • 应该在build文件夹中创建文件realsense2.sln,用Visual Studio打开文件,C#示例和库将在Wrappers/csharp下的解决方案中可用。

本机库和 .NET 包装器都默认构建为示例依赖项的一部分。

第 2 步。 查看工作示例以供参考。 Windows 上的默认 librealsense 构建是 Debug/Win32(对于此配置,构建的示例将在 your_librealsense_dir/build/Debug 提供)

在您的 C# 项目中,您需要添加 Intel.RealSense.dll 作为参考,并将 realsense2.dll 复制到您的构建目录中,例如:your_project_home/bin/x86/Debug

【讨论】:

    【解决方案2】:

    注意:从下面看,我认为您可能拥有所有这些 DLL。可能你有路径问题。检查您的 EXE 是否从 DLL 所在的同一文件夹中运行。

    这里是 DUMPBIN 输出的 realsense2.dll (x86) 的依赖关系:

    这些 Windows:

    KERNEL32.dll
    USER32.dll
    ole32.dll
    OLEAUT32.dll
    ADVAPI32.dll
    SHLWAPI.dll
    CFGMGR32.dll
    SETUPAPI.dll
    MF.dll
    MFPlat.DLL
    MFReadWrite.dll
    WINUSB.DLL
    

    还有这个 VS 2017 的一个:

    VCOMP140.DLL
    

    Dependency Walker 会告诉你哪些有哪些没有。

    【讨论】:

    • 我的 intelrealsense.dll(64 位系统)显示了不同的 dll 列表:Mscore.dll、kernel32、user32、advapi、shlwapi、version、oleaut32、urlmon。但是,我主要想知道的是为什么它不能在 lib 文件夹结构中工作,通常可以工作,但并不那么特别。
    • 以编程方式加载 DLL 时,您可以指定路径。但在 .NET 中,自动加载程序集的最简单和最常见的方法是它们是否位于同一目录中。否则,您必须使用类似配置文件的 codebase 元素。
    • 我不明白的是我写的其他项目也使用了lib文件夹中的引用dll,在那里没有问题,只是使用realsense时出现问题。
    • 我想你会发现参考将复制标志设置为真。这意味着 DLL 在构建期间被复制到输出目录。
    • 更改复制标志没有区别,但他们非常热衷于自己编译他们的 dll。 (我没有)但让我想知道那里是否有问题。调试和最终 dll 中的不同 api 绑定 ..guessing
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多