opencv 无法在启用 ipp 支持的情况下构建

Posted

技术标签:

【中文标题】opencv 无法在启用 ipp 支持的情况下构建【英文标题】:opencv fails to build with ipp support enabled 【发布时间】:2012-05-09 01:59:26 【问题描述】:

我在使用 ipp 支持构建 opencv 时遇到了一些问题。我在 debian squeeze 32bit 上使用 cmake-gui 和 ipp 的最新 intel 版本(完整的 composer 包)。

我认为我已经正确配置了 cmake。当我在启用 ipp 的情况下构建时,构建失败并出现以下错误:

/usr/bin/ld: /opt/intel/ipp/lib/ia32/libippcv_l.a(ippcv00242as.o): relocation R_386_GOTOFF against undefined symbol `ippJumpIndexForMergedLibs' can not be used when making a shared object
/usr/bin/ld: final link failed: Bad value

这对我来说似乎不是配置类型错误 :-)

知道如何解决这个问题吗?

谢谢,

-安德烈斯

【问题讨论】:

获取有关 OpenCV 邮件列表的帮助。 【参考方案1】:

我解决了这个问题,并认为我应该回答我自己的问题,以防万一其他人遇到这个问题。

显然,当您指定共享库构建时,opencv 库将无法正确构建。使用 cmake-gui 时,不能设置此选项:

BUILD_SHARED_LIBS

通过禁用此选项,opencv 库可以正常构建和安装

【讨论】:

通过禁用此选项,我能够构建和安装 Opencv。但是当我用 opencv 和 ipp 编译我的应用程序时,它在链接时给了我数百个“未定义的引用”错误。你能给我一些提示吗? @arshan 你有没有发现这个错误?我也卡在这里了 @wprins 不幸的是我无法解决这个问题。据我所知,我刚刚禁用了 IPP 支持。 我希望我能帮上忙,wprins 和 arshan,但老实说,这是很久以前的事了,我记不清细节了。那时我刚开始使用 cmake,所以整个环境对我来说都是新的。我目前没有积极参与 OpenCV。我会建议 OpenCV 相关论坛。抱歉,我不能提供更多帮助。祝你好运——我感受到你的痛苦和挣扎。 我使用 BUILD_SHARED_LIBS=OFF 和 WITH_IPP=OFF 来让事情正常工作【参考方案2】:

如果您的处理器不是英特尔系列,请执行cmake -D WITH_IPP=OFF,您不需要它。然后make

【讨论】:

以上是关于opencv 无法在启用 ipp 支持的情况下构建的主要内容,如果未能解决你的问题,请参考以下文章

当我尝试在启用推理引擎的情况下编译 OpenCv 时,出现错误

Inter IPP & Opencv + codeblocks 在centos 环境下的配置

手动安装OpenCV下的IPP加速库

以下模块是在启用优化或没有调试信息的情况下构建的

[OpenCV实战]28 基于OpenCV的GUI库cvui

在 Windows 上使用 CUDA、TBB、MKL、VTK 构建 OpenCV