Intelツールで実行をプロファイルするために、Linuxでiccを使用してOpenCVをコンパイルしようとしています。
デフォルトのオプションでiccの最新バージョンをインストールしました。"user" (icc は自宅にインストールされています) と "sudo" (icc は /opt にインストールされています) の両方のインストールを試しました。ICC のバージョンは 11.1 20090630 です。
また、必要なパスを PATH と LD_LIBRARY_PATH に追加して、iccvars.sh をソースすることも考えました。
OpenCV のいくつかのバージョンも試しました: - メインのもの: pre1.1。configure は icc をまったく認識しません - 'latest_tested_snapshot' および 'trunk' バージョン: icc は configure によって十分に認識されます (--enable-openmp は -openmp オプションを生成し、-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
そして最後にエラー:
/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
OpenCV を icc でコンパイルすることに成功した人がいたら教えてください!