Intel® Integrated Performance Primitives
Deliberate problems developing high-performance vision, signal, security, and storage applications.

ippiFilterGaussianInit undefined reference to 'exp'

Sascha
Beginner
762 Views

Hi,

I'm using ipp 8.2 and I'm trying to compile FilterGaussianBorder.c sample but no chance:

gcc gaussian.c -o test -I /opt/intel/ipp/include -L /opt/intel/ipp/lib/intel64 -lippcv -lippvm -lippi -lipps -lippcore
libippcv.a(ipcvsift_y8---ippiFilterGaussianInit.o): In function `y8_ippiFilterGaussianInit':
ipcvsift.c:(.text+0x1ad): undefined reference to `exp'

I found that ippiFilterGaussianInit function needs ippcv.lib and not ippvm.lib as mentioned in the documentation.

Which libraries I missing to get it compiled?

 

0 Kudos
5 Replies
Igor_A_Intel
Employee
764 Views

Hi Sascha,

IPP 8.x depends on Intel compiler run-time libraries - you should and libm and libirc to link cmd. IPP 9.x doesn't have such dependency.

Regards, Igor

0 Kudos
Sascha
Beginner
764 Views

Hi Igor,

I installed IPP 9.0.1.150 but it still not working:

ipcvsift.c:(.text+0x1c0): undefined reference to `exp'

 

0 Kudos
Sascha
Beginner
764 Views

Ok, it works with both IPP 8.2 and IPP9.0

just add libm to the linker.

Thanks.

0 Kudos
Sascha
Beginner
764 Views

Hi Igor,

how to use gaussian filter on 4 channels image?

I found it in the deprecated list:

ippiFilterGauss_8u_C4R -> ippiCopy_C4C1R +ippiFilterGaussianBorder_8u_C1R

what does it mean? Should I do gauss filter twice?

1x with ippiFilterGaussianBorder_8u_C3R

1x with ippiFilterGaussianBorder_8u_C1R

0 Kudos
Ying_H_Intel
Employee
764 Views

Hi Sascha, 

Yes, your workaround 

1x with ippiFilterGaussianBorder_8u_C3R

1x with ippiFilterGaussianBorder_8u_C1R

should work fine. 

and the recommendation ippiCopy_C4C1R +ippiFilterGaussianBorder_8u_C1R , which may require call 4 times, work also.  

Basically as the 4 channel image gaussian filter was deprecated,  you can use either of them.

Best Regards,
Ying H.

Intel IPP Support 

 

0 Kudos
Reply