Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 如何使用ICC编译OpenCV?_Linux_Opencv_Intel_Icc - Fatal编程技术网

Linux 如何使用ICC编译OpenCV?

Linux 如何使用ICC编译OpenCV?,linux,opencv,intel,icc,Linux,Opencv,Intel,Icc,我试图在Linux上用icc编译OpenCV,以便用英特尔工具分析执行情况 我安装了带有默认选项的icc的最新版本。我尝试了“用户”(icc安装在我家里)和“sudo”(icc安装在/opt中)两种安装方式。icc的版本是11.120090630 我还想到了源iccvars.sh,将所需的路径添加到PATH和LD_LIBRARY_PATH 我还尝试了几种版本的OpenCV: -主要的一个:pre1.1。配置根本无法识别icc -“最新\u测试的\u快照”和“中继”版本:icc通过配置(--ena

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

我安装了带有默认选项的icc的最新版本。我尝试了“用户”(icc安装在我家里)和“sudo”(icc安装在/opt中)两种安装方式。icc的版本是11.120090630

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

我还尝试了几种版本的OpenCV: -主要的一个:pre1.1。配置根本无法识别icc -“最新\u测试的\u快照”和“中继”版本:icc通过配置(--enable openmp product-openmp option,而不是-fopenmp)得到了很好的认可

当我做的时候,一切似乎都很好,直到编译的中期。然后,总是有很多关于“操作员”的警告(可能有一百个)。这里有一个例子:

../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

如果有人成功使用icc编译OpenCV,请告诉我

您的问题可能是由于使用了ICC用于创建该库的不同版本。您必须询问库提供商使用哪个版本。

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

它与svn上的最新测试版本配合使用:

随着svn的发展,它可能会改变,但在这个时候(8月27日),它起作用了。警告还在这里(不要惊慌,还有很多)。这里是我的configure bash行:

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

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

此库正式支持哪个编译器?你先试过这个吗?我以前从未这样做过,但是如果你想用另一个编译器编译它,你需要自己做一个(艰苦的?)工作。这两个错误可能隐藏更多的错误。是的,编译器icc应该支持OpenCV。这不再是最新的。他们现在使用CMake。在那里它是如何工作的?
./configure --prefix=/home/user/opencv/icc CC=icc CXX=icpc --enable-openmp --disable-apps --disable-optimization --disable-sse