On Tue, March 14, 2017 14:36, Sven Barth via fpc-devel wrote: > Am 14.03.2017 14:33 schrieb "Sven Barth" <pascaldra...@googlemail.com>: >> Am 14.03.2017 13:30 schrieb "LacaK" <la...@zoznam.sk>: >> > >> > Hi, >> > >> > I have C/C++ librarby (".lib" for Windows and ".a" for Linux) from > Intel IPP package (they distribute ".lib" and also ".dll" for Windows and > ".a" for Linux) >> > >> > Can I link in FPC (on Windows) at compile time to this ".lib" versions > ? Or only possible way is link at runtime using ".dll" (and distribute > DLLs > with my EXE)? >> > (I guess, that FPC can not link to libraries not created in FPC >> itself. > So format of supplied ".lib" is not compatible with what FPC expects) >> > >> > I am trying do something like: >> > {$linklib libippi} >> > function ippiThreshold_LTValGTVal_8u_C1IR(pSrcDst: PIpp8u; srcDstStep: > int; >> > roiSize: IppiSize; thresholdLT: Ipp8u; valueLT: Ipp8u; > thresholdGT: Ipp8u; >> > valueGT: Ipp8u): IppStatus; external; // 'ippi.dll'; >> > >> > (In Project Options I have path to libippi.a in -Fl) >> > >> > But I get error: test_IPP.lpr(24,1) Error: Undefined symbol: > IPP_IPPITHRESHOLD_LTVALGTVAL_8U_C1IR$PIPP8U$LONGINT$IPPISIZE$BYTE$BYTE$BYTE$BYTE$$IPPSTATUS >> > >> > I am doing something wrong or just this is not possible ? . .
Doesn't the declaration above miss "cdecl;" or something similar (before "external")? You could also use the 'name' modifier, I guess, to avoid FPC symbol mangling (but cdecl should do it as well). Apart from that - based on the name, I'd suspect that it's C++ rather than C (linking to C++ isn't fully supported by FPC yet as far as I know)? Tomas _______________________________________________ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel