Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Sascha
Beginner
104 Views

ippiFilterGaussianInit undefined reference to 'exp'

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
104 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

Sascha
Beginner
104 Views

Hi Igor,

I installed IPP 9.0.1.150 but it still not working:

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

 

Sascha
Beginner
104 Views

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

just add libm to the linker.

Thanks.

Sascha
Beginner
104 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

Ying_H_Intel
Employee
104 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