【问题标题】:OpenCV-3.0.0-beta failure to build on 32-bits and 64-bits Ubuntu12.04 - IPP symbols undefinedOpenCV-3.0.0-beta 无法在 32 位和 64 位 Ubuntu12.04 上构建 - IPP 符号未定义
【发布时间】: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 可能就是所有需要的。所以我想缺少的可能只是一个指定要链接的库的标志;但是在哪里设置这样的标志?

标签: opencv ubuntu intel-ipp


【解决方案1】:

您可以将该 libippicv.a 库作为简单的目标文件添加到最后的链接器命令行。或者,将其视为库“cc ..... -L 3rdparty/ippicv/unpack/ippicv_lnx/lib/ia32 -lippicv”,以便在链接时使用普通库。

【讨论】:

  • 我已将 cmake 命令转为详细模式,并发现链接命令行包括 3rdparty/ippicv/unpack/ippicv_lnx/lib/ia32/libippicv.a 并且我仍然得到“未定义符号”;因此它们可能是在需要与 OpenCV 分开安装的 IPP 库中定义的。有人会指出我要包含的正确库吗?谢谢
  • 你自己构建opencv库吗?用cmake?我想知道您如何获得对纯 IPP 函数名称的外部引用,而 ippicv 只有重命名的函数,例如“ippicviFilterSobelHorizBorder_8u16s_C1R”。
猜你喜欢
  • 1970-01-01
  • 2012-11-26
  • 1970-01-01
  • 2011-01-17
  • 1970-01-01
  • 2016-12-02
  • 1970-01-01
  • 2013-07-12
  • 1970-01-01
相关资源
最近更新 更多