Проблема с System.DllNotFoundException в файле dll, созданном путем включения ippiFFTGetSize_C_32fc ().(Intel IPP)

Я создал dll создан с использованием IPP function ippiFFTGetSize_C_32fc (),
Ссылка на этот файл DLL из проекта wpf (C#) приводит к System.DllNotFoundException: Unable to load DLL 'TEST.dll' ошибка.

int HioTest(Ipp32fc* csSrcImg, Ipp32fc* csDstImg)
{

    // FFT Init
    IppiFFTSpec_C_32fc  *pSpec = NULL;                              /* Pointer to FFT spec structure */
    Ipp8u               *pMemInit = NULL, *pBuffer = NULL;          /* Pointer to the work buffers */
    int                 sizeSpec = 0, sizeInit = 0, sizeBuf = 0;    /* Size of FFT spec structure, init and work buffers */
    int               order = 9;

    ippiFFTGetSize_C_32fc(order, order, IPP_FFT_DIV_INV_BY_N, ippAlgHintAccurate, &sizeSpec, &sizeInit, &sizeBuf);

    return 5;
}

Я создал TEST.dll (Язык C) с использованием IPP для внешней библиотеки. Я хочу сослаться на TEST.dll в моем проекте wpf и использовать его.

Используемый инструмент - "visual studio 2017", а в версии IPP используется последняя версия compilers_and_libraries_2019.1.144,

Смотрите документацию IPP. Настройки проекта dll,

  • Debug / x64
  • добавлять ippsmt.lib, ippcoremt.lib за Additional Dependencies,
  • Автоматическая настройка "однопоточной DLL".
  • export .def создано.
  • добавлять ippInit () в dllmain.cpp
  • Ссылка на C#. / clr setting

C# проект

  • Debug / x64
  • разблокировать загрузчик
  • Увеличьте размер резервного стека

Я настроил это так.

Other ippMalloc (), ippsAdddC_32f_I ()

dll Файл, который я создал с помощью вышеописанного, работал правильно в моем проекте wpf. Тем не менее, TEST.dll, содержащий ippiFFTGetSize_C_32fc () приведет к ошибке System.DllNotFoundException: Unable to load DLL 'TEST.dll', Я хочу знать причину или решение.

1 ответ

В случае, если вы используете Microsoft Visual Studio, попробуйте очистить и восстановить его.

Другие вопросы по тегам