1

Linking CXX executable ../../bin/opencv_perf_core ../../lib/libopencv_core.so.3.0.0: undefined reference to ippiTranspose_16u_C4IR' ../../lib/libopencv_core.so.3.0.0: undefined reference toippiMean_StdDev_16u_C1R' ../../lib/libopencv_imgproc.so.3.0.0: undefined reference to ippiFilterSobelHorizBorder_8u16s_C1R' ../../lib/libopencv_core.so.3.0.0: undefined reference toippiNorm_L2_32f_C4R' ../../lib/libopencv_imgproc.so.3.0.0: undefined reference to ippiMulC_16s_C1IRSfs' ../../lib/libopencv_core.so.3.0.0: undefined reference toippiNormDiff_L1_8u_C4R' ../../lib/libopencv_imgproc.so.3.0.0: undefined reference to ippiResizeLinear_16u_C3R' ../../lib/libopencv_core.so.3.0.0: undefined reference toippiNormDiff_Inf_32f_C1MR' ../../lib/libopencv_imgproc.so.3.0.0: undefined reference to ippiCopySubpixIntersect_8u_C1R' ../../lib/libopencv_imgproc.so.3.0.0: undefined reference toippiErodeBorder_8u_C1R' ../../lib/libopencv_imgproc.so.3.0.0: undefined reference to `ippiCrossCorrNormGetBufferSize'

Iod
  • 21
  • 1
  • 1
    Did you use CMake to build OpenCV? You probably have it set so that IPP or the Intel Performance Primitives are included when compiling. You're getting that error because you actually don't have those on your system. Try disabling them by setting the `WITH_IPP` flag to `OFF`, then try rebuilding and compiling again. However, if you want to compile with IPP, check out this website: http://choorucode.com/2013/10/04/how-to-compile-opencv-with-ipp-support/ – rayryeng Mar 20 '15 at 20:44
  • 1
    Thanks rayryeng. Yes I wanted to compile with IPP and I used CMake to build OpenCv and had WITH_IPP=ON in the CMake command line. IPP was pre-installed on my computer and IPPROOT was properly set. Furthermore opencv has a static lib 3rdparty/ippicv/unpack/ippicv_lnx/lib/ia32/libippicv.a that may be all that's needed. So I guess what's missing may be just a flag that specifies the library to link with; but where to set such a flag? – Iod Mar 21 '15 at 01:56
  • The URL for compiling with IPP is: http://codeyarns.com/2013/10/04/how-to-compile-opencv-with-ipp-support – Ashwin Nanjappa Sep 11 '15 at 01:10

1 Answers1

0

You can add that libippicv.a library as simple object file to linker command line at the end. Or, treat it as a library "cc ..... -L 3rdparty/ippicv/unpack/ippicv_lnx/lib/ia32 -lippicv" so as ordinary libraries are used while linking.

Sergey Khlystov
  • 276
  • 2
  • 5
  • I have turned the cmake command into verbose mode, and found out, that the link command line includes 3rdparty/ippicv/unpack/ippicv_lnx/lib/ia32/libippicv.a and I still get the "undefined symbols"; so they are probably defined in an IPP library that needs to be installed separate from OpenCV. Would anybody point me to the right lib to include. Thanks – Iod Mar 23 '15 at 19:37
  • Do you build opencv library itself? With cmake? I wonder how could you get external references to pure IPP function names, whereas ippicv has only renamed functions, like "ippicviFilterSobelHorizBorder_8u16s_C1R". – Sergey Khlystov Apr 08 '15 at 12:39