2

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

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

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

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

4

2 回答 2

3

步骤 1.使用位于主 repo 下的说明构建提供的 C++/C# 示例/wrappers/csharp/readme.md

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

    • mkdir 构建
    • 光盘构建
    • cmake .. -DBUILD_CSHARP_BINDINGS=ON -DBUILD_SHARED_LIBS=ON
  • 该文件realsense2.sln应在build文件夹中创建,使用 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

于 2018-08-22T09:30:46.740 回答
0

注意:看下面,我认为您可能拥有所有这些 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会告诉您哪些有哪些没有。

于 2018-07-12T05:56:05.650 回答