Я создал 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'
.Я хочу знать причину или решение.