【发布时间】:2015-03-22 00:55:28
【问题描述】:
链接 CXX 可执行文件 ../../bin/opencv_perf_core
../../lib/libopencv_core.so.3.0.0:未定义引用ippiTranspose_16u_C4IR'
../../lib/libopencv_core.so.3.0.0: undefined reference toippiMean_StdDev_16u_C1R'
../../lib/libopencv_imgproc.so.3.0.0:未定义引用ippiFilterSobelHorizBorder_8u16s_C1R'
../../lib/libopencv_core.so.3.0.0: undefined reference toippiNorm_L2_32f_C4R'
../../lib/libopencv_imgproc.so.3.0.0:未定义引用ippiMulC_16s_C1IRSfs'
../../lib/libopencv_core.so.3.0.0: undefined reference toippiNormDiff_L1_8u_C4R'
../../lib/libopencv_imgproc.so.3.0.0:未定义引用ippiResizeLinear_16u_C3R'
../../lib/libopencv_core.so.3.0.0: undefined reference toippiNormDiff_Inf_32f_C1MR'
../../lib/libopencv_imgproc.so.3.0.0:未定义引用ippiCopySubpixIntersect_8u_C1R'
../../lib/libopencv_imgproc.so.3.0.0: undefined reference toippiErodeBorder_8u_C1R'
../../lib/libopencv_imgproc.so.3.0.0:未定义的对 `ippiCrossCorrNormGetBufferSize' 的引用
【问题讨论】:
-
你使用 CMake 构建 OpenCV 了吗?您可能已对其进行了设置,以便在编译时包含 IPP 或 Intel Performance Primitives。您收到该错误是因为您的系统上实际上没有这些错误。尝试通过将
WITH_IPP标志设置为OFF来禁用它们,然后尝试重新构建和编译。但是,如果您想使用 IPP 进行编译,请查看此网站:choorucode.com/2013/10/04/… -
谢谢 rayryeng。是的,我想用 IPP 编译,我使用 CMake 构建 OpenCv,并在 CMake 命令行中设置了 WITH_IPP=ON。 IPP 已预先安装在我的计算机上,并且 IPPROOT 已正确设置。此外,opencv 有一个静态库 3rdparty/ippicv/unpack/ippicv_lnx/lib/ia32/libippicv.a 可能就是所有需要的。所以我想缺少的可能只是一个指定要链接的库的标志;但是在哪里设置这样的标志?