gpt4 book ai didi

linux - 如何使用 ICC 编译 OpenCV?

转载 作者:太空狗 更新时间:2023-10-29 12:38:42 24 4
gpt4 key购买 nike

我正在尝试在 Linux 上使用 icc 编译 OpenCV,以便使用英特尔工具分析执行情况。

我使用默认选项安装了最新版本的 icc。我尝试了“user”(icc 安装在我家)和“sudo”(icc 安装在/opt 中)安装。 icc的版本是11.1 20090630

我还想获取 iccvars.sh 的源代码,将所需的路径添加到 PATH 和 LD_LIBRARY_PATH

我还尝试了几个版本的 OpenCV: - 主要的:pre1.1。 configure 根本无法识别 icc - 'latest_tested_snapshot' 和 'trunk' 版本:icc 被配置很好地识别(--enable-openmp 产生 -openmp 选项,而不是 -fopenmp)

当我编译时,一切似乎都很好,直到编译到一半。然后总是出现很多关于“运算符(operator)”的警告(也许一百个)。这里有一个例子:

../include/opencv/cxcore.hpp(335): warning #597: "cv::Size_<_Tp>::operator cv::Size_<float>() const [with
_Tp=float]" will not be called for implicit or explicit conversions
operator Size_<float>() const;
^
detected during instantiation of class "cv::Size_<_Tp> [with _Tp=float]" at line 394

最后是错误:

/bin/bash ../../../libtool --tag=CXX   --mode=compile icpc -DHAVE_CONFIG_H -I. -I../../..  -I../../../include/opencv -I. -DCV_NO_BACKWARD_COMPATIBILITY  -fPIC -I/usr/include/python2.6  -g -O2 -MT _highgui_la-pyhelpers.lo -MD -MP -MF .deps/_highgui_la-pyhelpers.Tpo -c -o _highgui_la-pyhelpers.lo `test -f 'pyhelpers.cpp' || echo './'`pyhelpers.cpp
_ml.cpp(36134): error: argument of type "uchar={unsigned char} *" is incompatible with parameter of type "int *"
result = (int)(arg1)->get_ord_var_data(arg2,arg3,arg4,arg5,(float const **)arg6,(uchar const **)arg7);
^

_ml.cpp(36134): error: argument of type "const uchar={unsigned char} **" is incompatible with parameter of type "const int **"
result = (int)(arg1)->get_ord_var_data(arg2,arg3,arg4,arg5,(float const **)arg6,(uchar const **)arg7);
^

compilation aborted for _ml.cpp (code 2)
make[4]: *** [_ml_la-_ml.lo] Erreur 1

谁用icc成功编译了OpenCV,请告诉我!

最佳答案

好的,我终于用 ICC 编译了 OpenCV。 OpenCV 与 Intel 关系密切,因为 Intel 高度参与了这个项目。从 1.1 版本开始,OpenCV 应该原生支持 icc 编译器。当您在配置中指定 CC=icc 时,会有一些细微的变化,因为 -fopenmp(gcc 样式)转换为 -openmp(icc 样式)。然而,从 OpenCV 1.1(这是最新的稳定版本)发布到现在,icc 已经发生了变化。我认为它曾经与以前版本的 icc 一起编译。

它与 svn 上的最新测试版本兼容: https://opencvlibrary.svn.sourceforge.net/svnroot/opencvlibrary/tags/latest_tested_snapshot/opencv/

随着 svn 的发展,它可能会发生变化,但此时(8 月 27 日)它可以工作。警告仍然存在(不要害怕,有很多)。这是我的配置 bash 行:

./configure --prefix=/home/user/opencv/icc CC=icc CXX=icpc --enable-openmp --disable-apps --disable-optimization --disable-sse

我禁用了优化和 sse 指令,因为它会与 icc 产生一些冲突。

关于linux - 如何使用 ICC 编译 OpenCV?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1271797/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com