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

Я создал 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

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

C # проект

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

Я настроил это следующим образом.

Other ippMalloc (), ippsAdddC_32f_I ()

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

1 Ответ

0 голосов
/ 22 января 2019

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

...