Custom DLL

Custom DLL

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

3 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.

Doesn't matter, my fault got the _c1R bit wrong, should of course be _C1R.

All works now (I think!)

Chris

Hi Chris,

great! I'm glad you solved problem. How do you find this possibility, I mean to build custom DLL, useful?

Regards,
Vladimir

Leave a Comment

Please sign in to add a comment. Not a member? Join today