繁体   English   中英

如何将 SimpleITK 集成到 Unity for HoloLens 2 中的应用程序

[英]How to integrate SimpleITK in Unity for app in HoloLens 2

我正在 Unity 2020.3.3f1 中开发一个应用程序以部署在 HoloLens 2 中。这个应用程序必须处理医学图像,因此我需要使用 SimpleITK 库。 我已经下载 SimpleITK 源文件并在 Visual Studio 2017 中为 ARM64 架构编译它们,以匹配 HoloLens 2 ARM64 架构,遵循以下过程: https://blogs.windows.com/windowsdeveloper/official-201支持 Windows-10-on-arm-development/ 我在 Unity 项目的 Asset 文件夹中添加了 native 和 managed.dll,并且我编写了一个 c# 脚本,其中我使用了 SimpleITK。 在 Unity 编辑器中一切正常,没有错误,但是当我在 HoloLens 2 中部署应用程序时,没有任何效果。 在 Visual Studio 中启动解决方案的调试(调试 -> 开始调试),只要调用使用 SimpleITK 的脚本,这些行就会出现在 output window 中:

“SpatialAwareness.exe”(Win32):已加载“U:\USERS\DefaultAccount\AppData\Local\DevelopmentFiles\BaseVS.Release_ARM64.Elena\SimpleITKCSharpNative.dll”。 模块是在没有符号的情况下构建的。 'SpatialAwareness.exe' (Win32): Unloaded 'U:\USERS\DefaultAccount\AppData\Local\DevelopmentFiles\BaseVS.Release_ARM64.Elena\SimpleITKCSharpNative.dll' Exception thrown at 0x00007FFC1AAF39EC in SpatialAwareness.exe: Microsoft C++ exception: Il2CppExceptionWrapper at memory位置 0x00000094365FE590。

如果有人能给我一些提示,我会很高兴。 非常感谢。

看起来您构建的 SimpleITK DLL 缺少 Windows 运行时组件。

如果您将 C++ DLL 创建为 Win32 二进制文件,则在 HoloLens2 上运行时会引发异常,因为 Unity 在构建 WSA 项目时不会包含标准 Win32 二进制文件。 Therefore, you need to recreate the Win32 DLL as a UWP DLL or port the native win32 DLL to the UWP DLL, see the guidance here: To port a native DLL to the UWP without creating a new project

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM