OpenCV-3.0.0-beta未能基于32位和64位Ubuntu12.04构建-IPP符号未定义

OpenCV-3.0.0-beta未能基于32位和64位Ubuntu12.04构建-IPP符号未定义,opencv,ubuntu,intel-ipp,Opencv,Ubuntu,Intel Ipp,链接CXX可执行文件.././bin/opencv\u perf\u core ../../lib/libopencv_core.so.3.0.0:ippiTranspose_16u_C4IR'的未定义引用 ../../lib/libopencv_core.so.3.0.0:对PPIMean_StdDev_16u_C1R'的未定义引用 ../../lib/libopencv_imgproc.so.3.0.0:对ippiFilterSobelHorizBorder_8u16s_C1R的未定义引用

链接CXX可执行文件.././bin/opencv\u perf\u core ../../lib/libopencv_core.so.3.0.0:ippiTranspose_16u_C4IR'的未定义引用 ../../lib/libopencv_core.so.3.0.0:对PPIMean_StdDev_16u_C1R'的未定义引用 ../../lib/libopencv_imgproc.so.3.0.0:对ippiFilterSobelHorizBorder_8u16s_C1R的未定义引用 ../../lib/libopencv_core.so.3.0.0:未定义的对文件的引用_L2_32f_C4R' ../../lib/libopencv_imgproc.so.3.0.0:对ippiMulC_16s_C1IRSfs的未定义引用 ../../lib/libopencv_core.so.3.0.0:未定义对PipingorMDiff_L1_8u_C4R的引用 ../../lib/libopencv_imgproc.so.3.0.0:对ippiResizeLinear_16u_C3R'的未定义引用 ../../lib/libopencv_core.so.3.0.0:未定义对PipingorMDiff_Inf_32f_C1MR的引用' ../../lib/libopencv_imgproc.so.3.0.0:ippicopysubpixeintersect_8u_C1R'的未定义引用 ../../lib/libopencv_imgproc.so.3.0.0:未定义对PPierodeborder_8u_C1R'的引用
../../lib/libopencv_imgproc.so.3.0.0:对“IPMicrossCorrNormalGetBufferSize”的未定义引用

您可以将该libippicv.a库作为简单对象文件添加到末尾的链接器命令行。或者,将其视为库cc-L第三方/ippicv/unpack/ippicv_lnx/lib/ia32-lippicv,以便在链接时使用普通库。

您是否使用CMake构建OpenCV?您可能已将其设置为在编译时包含IPP或英特尔性能原语。您之所以会出现这种错误,是因为您的系统中实际上没有这些错误。尝试通过将WITH_IPP标志设置为OFF来禁用它们,然后再次尝试重建和编译。但是,如果你想使用IPP进行编译,请访问此网站:谢谢rayryeng。是的,我想使用IPP进行编译,我使用CMake构建OpenCv,并在CMake命令行中使用_IPP=ON。IPP已预安装在我的计算机上,并且IPPROOT已正确设置。此外,opencv还有一个静态lib 3rdparty/ippicv/unpack/ippicv_lnx/lib/ia32/libippicv.a,这可能就是所需的全部。所以我想缺少的可能只是一个指定要链接的库的标志;但是在哪里设置这样的标志呢?使用IPP编译的URL是:我已经将cmake命令转换为verbose模式,并发现link命令行包括第三方/ippicv/unpack/ippicv_lnx/lib/ia32/libippicv.a,并且我仍然得到未定义的符号;因此,它们可能是在需要与OpenCV分开安装的IPP库中定义的。有没有人能给我指出要包括的正确库。谢谢你自己构建opencv库了吗?和cmake一起?我想知道如何获得纯IPP函数名的外部引用,而ippicv只有重命名的函数,如ippicviFilterSobelHorizBorder_8u16s_C1R。