Intel® Integrated Performance Primitives
Deliberate problems developing high-performance vision, signal, security, and storage applications.
Announcements
FPGA community forums and blogs have moved to the Altera Community. Existing Intel Community members can sign in with their current credentials.

Custom DLL

metalmickey
Beginner
896 Views
Hi
I'm trying to create a custom dll using the tools in theCustomDLL section of IPP.
I have followed the instructions and added five functions to funclist.h and export.def and then edited tools.ini but I get numerous errors.
I include the errors and my settings (see below).
I note that I only get four errors so one of the five functions ippiGetRotateBound is working suggesting that my settings are correct.
Anyone able to help?
Cheers
Chris
//Added to funclist.h
IPPAPI(IppStatus, ippiGetRotateBound, (IppiRect srcRoi, double bound[2][2], double angle, double xShift, double yShift))
IPPAPI(IppStatus, ippiResize_8u_C3R, (const Ipp8u* pSrc, IppiSize srcSize, int srcStep, IppiRect srcRoi,
Ipp8u* pDst, int dstStep, IppiSize dstRoiSize,
double xFactor, double yFactor, int interpolation))
IPPAPI(IppStatus, ippiRotate_8u_C1R, (const Ipp8u* pSrc, IppiSize srcSize, int srcStep, IppiRect srcRoi, Ipp8u* pDst, int dstStep, IppiRect dstRoi, double angle, double xShift, double yShift, int interpolation))
IPPAPI(IppStatus, ippiRotate_8u_C3R, (const Ipp8u* pSrc, IppiSize srcSize, int srcStep, IppiRect srcRoi, Ipp8u* pDst, int dstStep, IppiRect dstRoi, double angle, double xShift, double yShift, int interpolation))
IPPAPI(IppStatus, ippiRotate_8u_C4R, (const Ipp8u* pSrc, IppiSize srcSize, int srcStep, IppiRect srcRoi, Ipp8u* pDst, int dstStep, IppiRect dstRoi, double angle, double xShift, double yShift, int interpolation))

//Added to export.def
ippiGetRotateBound
ippiResize_8u_c3R
ippiRotate_8u_c1R
ippiRotate_8u_c3R
ippiRotate_8u_c4R
//Settings from Tools.ini

## MS VC home directory.
# You may not define this name if MSVC is accessible
MSVCDir=C:Program FilesMicrosoft Visual StudioVC98
## Intel IPP install directory
!IF [if exist "%IPPROOT%" (echo IPPROOT: %IPPROOT%) else (exit 1)] == 1
IPPROOT=C:Program FilesIntelIPP41ia32_itanium
!ENDIF

## Name of the custom DLLs
DllName=OpalImager
## Directory name for lib-,map-,obj-files
OutDir=.opallib
## Directory name for dll
DllDir=.opalin
# ###############################################################
# Supported processors.
# px=Generic IA-32 processor,
# a6=Intel Pentium III processor,
# w7=Intel Pentium 4 processor
CpuList=px a6 w7 t7
## Name of the test application to build
TestName=ipptwo
//Errors from nmake
nmake /nologo -f customdll.mak
cl.exe /nologo /c /GB /W3 /O2 -I"C:Program FilesIntelIPP41ia32_itaniuminclude" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" -MD /DPX /DA6 /DW7 /DT7 /Fo".opallibOpalImager.obj" dllmain.c
dllmain.c
link.exe /nologo @C:DOCUME~1UserLOCALS~1Temp ma00244.
export.def : error LNK2001: unresolved external symbol ippiResize_8u_c3R
export.def : error LNK2001: unresolved external symbol ippiRotate_8u_c1R
export.def : error LNK2001: unresolved external symbol ippiRotate_8u_c3R
export.def : error LNK2001: unresolved external symbol ippiRotate_8u_c4R
.opallibOpalImager.lib : fatal error LNK1120: 4 unresolved externals
LINK : fatal error LNK1141: failure during build of exports file

0 Kudos
2 Replies
metalmickey
Beginner
896 Views
Doesn't matter, my fault got the _c1R bit wrong, should of course be _C1R.
All works now (I think!)
Chris
0 Kudos
Vladimir_Dudnik
Employee
896 Views
Hi Chris,
great! I'm glad you solved problem. How do you find this possibility, I mean to build custom DLL, useful?
Regards,
Vladimir
0 Kudos
Reply