#c# #visual-studio #unity3d #dll #hololens
Вопрос:
для другого проекта я пытаюсь получить собственную библиотеку C (libsvm.dll) работает на Microsoft Hololens в проекте Unity.
Чтобы попытаться понять, как должно работать использование собственных DLL, я в точности следовал этому руководству: https://learn.unity.com/tutorial/working-with-native-plugins-2019-3#
Когда я запускаю проект, он отлично работает на моем ПК с Windows, а также правильно строится для HL.
Но когда я пытаюсь запустить проект на Hololens, я получаю следующую ошибку:
Exception thrown at 0x776E9FC7 (ntdll.dll) in DLL Test.exe: 0xC0000139: Entry Point Not Found.
Кто-нибудь знает, как я могу это исправить? DLL импортируется в Unity для x86 и SDK UWP, поэтому я думаю, что сторона Unity в порядке. Помощь была бы очень признательна.
Ответ №1:
Пройдя через этот учебник по unity, я обнаружил, что шаблон проекта, который Dynamic-Link Library (.dll)
вы выбрали в качестве основы, когда приступали к созданию библиотеки DLL C в Visual Studio. Если вы создали свою библиотеку DLL C в виде двоичного файла Win32, при запуске в HoloLens2 будут возникать исключения, поскольку Unity не будет включать стандартные двоичные файлы Win32 при создании проекта WSA. Поэтому рекомендуется воссоздать или перенести собственную библиотеку DLL win32 в библиотеку DLL UWP, см. Руководство здесь: Чтобы перенести собственную библиотеку DLL в UWP без создания нового проекта
Комментарии:
1. Привет, спасибо за ваш ответ! Как только я вернусь в офис, я опробую его, а затем дам вам знать, сработало ли это