Модуль не найден C ++ .dll внутри C # Unity на Hololens

Я пытаюсь реализовать простой .dll в своем проекте, который будет создан для приложения дополненной реальности HoloLens. Я пытаюсь просто вызвать функцию из моей библиотеки C ++ .dll для реализации кода OpenCV, но на HoloLens выдает ошибку, показанную ниже.

.dll Код C ++:

extern "C" void __declspec(dllexport) __stdcall test() {
    return;
}

Код Unity C #:

 internal class OpenCV
    {
        // Define the functions which can be called from the .dll.
        [DllImport("Project1")]
        internal static extern void test();

        public static void testmeth()
        {
            test();
        }
    }

Ошибка при отладке на HoloLens с помощью Visual Studio:

System.DllNotFoundException: 'Unable to load DLL 'Project1': The specified module could not be found. (Exception from HRESULT: 0x8007007E)'

Здесь вы можете увидеть настройки и путь к dll:  Здесь вы можете увидеть настройки и путь к dll


person Updater    schedule 05.02.2019    source источник


Ответы (1)


Проблема: исходные файлы OpenCV, которые я скомпилировал для x86 и успешно использовал для моего приложения UWP, почему-то не работали для HoloLens.

Решено: я использовал NuGet-пакет «OpenCV-HoloLens» для моей .dll C ++ и скопировал также .dll-файлы в Unity.

person Updater    schedule 07.02.2019