<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Tue, Mar 14, 2017 at 12:26 PM, LacaK <span dir="ltr"><<a href="mailto:lacak@zoznam.sk" target="_blank">lacak@zoznam.sk</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Dňa 14.3.2017 o 15:57 silvioprog napísal(a):</blockquote><div>[...] </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
here I get (without {$linklib}):<br>
  Error: Undefined symbol: IPP__IPPITHRESHOLD_LTVAL_8U_C1<wbr>IR$PIPP8U$LONGINT$IPPISIZE$BYT<wbr>E$BYTE$$IPPSTATUS<span class="m_-4098703742770455815gmail-"><br>
<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
test 2: put the library implementation below function declaration, eg:<br>
<br>
function _ippiThreshold_LTValGTVal_8u_C<wbr>1IR(pSrcDst: PIpp8u; srcDstStep: int;<br>
       roiSize: IppiSize; thresholdLT: Ipp8u; valueLT: Ipp8u; thresholdGT: Ipp8u;<br>
       valueGT: Ipp8u): IppStatus; external;<br>
{$linklib libippi}<br>
</blockquote></span>
here I get:<br>
  Error: Undefined symbol: IPP__IPPITHRESHOLD_LTVAL_8U_C1<wbr>IR$PIPP8U$LONGINT$IPPISIZE$BYT<wbr>E$BYTE$$IPPSTATUS<br>
(same error if I add: {$linklib ippi} or {$linklib libippi} ... ippi.lib and libippi.a are in directory where -Fl points) </blockquote><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><span class="m_-4098703742770455815gmail-">
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<br>
fix 1: check which convention your library was compiled,<br>
</blockquote></span>
I think it is stdcall and I have this calling convention there (extdecl is macro: {$DEFINE extdecl:=stdcall}  ):<br>
  function _ippiThreshold_LTVal_8u_C1IR(p<wbr>SrcDst: PIpp8u;srcDstStep: int;  roiSize: IppiSize; threshold: Ipp8u; value: Ipp8u): IppStatus;<br>
   extdecl; external;</blockquote></div><div><br></div><div>Awesome. Now we need to check how libippi had exported its symbols. :-) For example, to check the symbols from the libfoo.a sent in my previous message:</div><div><font size="1" face="monospace, monospace"><br></font></div><div><div><font size="1" face="monospace, monospace">$ objdump -t libfoo.a</font></div><div><font size="1" face="monospace, monospace">In archive libfoo.a:</font></div><div><font size="1" face="monospace, monospace"><br></font></div><div><font size="1" face="monospace, monospace">libfoo.o:     file format pe-i386</font></div><div><font size="1" face="monospace, monospace"><br></font></div><div><font size="1" face="monospace, monospace">SYMBOL TABLE:</font></div><div><font size="1" face="monospace, monospace">[  0](sec -2)(fl 0x00)(ty   0)(scl 103) (nx 1) 0x00000000 foo.c</font></div><div><font size="1" face="monospace, monospace">File</font></div><div><font size="1" face="monospace, monospace"><b>[  2](sec  1)(fl 0x00)(ty  20)(scl   2) (nx 1) 0x00000000 _bar</b></font></div><div><font size="1" face="monospace, monospace">AUX tagndx 0 ttlsiz 0x0 lnnos 0 next 0</font></div><div><font size="1" face="monospace, monospace">[  4](sec  1)(fl 0x00)(ty   0)(scl   3) (nx 1) 0x00000000 .text</font></div><div><font size="1" face="monospace, monospace">AUX scnlen 0xa nreloc 1 nlnno 0</font></div><div><font size="1" face="monospace, monospace">[  6](sec  2)(fl 0x00)(ty   0)(scl   3) (nx 1) 0x00000000 .data</font></div><div><font size="1" face="monospace, monospace">AUX scnlen 0x0 nreloc 0 nlnno 0</font></div><div><font size="1" face="monospace, monospace">[  8](sec  3)(fl 0x00)(ty   0)(scl   3) (nx 1) 0x00000000 .bss</font></div><div><font size="1" face="monospace, monospace">AUX scnlen 0x0 nreloc 0 nlnno 0</font></div><div><font size="1" face="monospace, monospace">[ 10](sec  4)(fl 0x00)(ty   0)(scl   3) (nx 1) 0x00000000 .rdata</font></div><div><font size="1" face="monospace, monospace">AUX scnlen 0x4 nreloc 0 nlnno 0</font></div><div><font size="1" face="monospace, monospace">[ 12](sec  5)(fl 0x00)(ty   0)(scl   3) (nx 1) 0x00000000 .rdata$zzz</font></div><div><font size="1" face="monospace, monospace">AUX scnlen 0x2a nreloc 0 nlnno 0</font></div><div><font size="1" face="monospace, monospace">[ 14](sec  6)(fl 0x00)(ty   0)(scl   3) (nx 1) 0x00000000 .eh_frame</font></div><div><font size="1" face="monospace, monospace">AUX scnlen 0x38 nreloc 1 nlnno 0</font></div></div><div><br></div><div>Notice the _bar, now you need to check if libippi exported it as ippithreshold_ltvalgtval_8u_<wbr>c1ir, _ippithreshold_ltvalgtval_8u_<wbr>c1ir or</div><div>ipp__ippithreshold_ltval_8u_<wbr>c1ir. :-)</div><div><br></div>--<br><div class="m_-4098703742770455815gmail_signature"><div dir="ltr"><div>Silvio Clécio</div></div></div>
</div></div>