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

ippiFilterGaussianInit undefined reference to 'exp'

Sascha
ビギナー
1,357件の閲覧回数

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 件の賞賛
5 返答(返信)
Igor_A_Intel
従業員
1,359件の閲覧回数

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
ビギナー
1,359件の閲覧回数

Hi Igor,

I installed IPP 9.0.1.150 but it still not working:

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

 

Sascha
ビギナー
1,359件の閲覧回数

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

just add libm to the linker.

Thanks.

Sascha
ビギナー
1,359件の閲覧回数

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
モデレーター
1,359件の閲覧回数

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 

 

返信