[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[debian-users:41573] intel compiler 8.1
楠野です。
インテルコンパイラが
icc: error: could not find directory in which g++ resides
とエラーを吐いて動いてくれなかったのですが、どうにか動きそうなので、
報告します。
===============================
1. alien で .rpm を .deb に変換
2. dpkg -i *.deb
3. /opt/intel_cc_80/bin 以下の icc,iccvars.{sh,csh}の中の
<INSTALLDIR> を /opt/intel_cc_80 に変換
4. .bashrc などに iccvars.sh を読み込むように設定。
===============================
ここまでの手順で以前のバージョンは使えていたのですが、
8.1 だと、上記のエラーが出て、困ってました。
LANG=C icc test.cpp
で、起動してみると上記のエラーが回避されますが、さらに次のエラーが出ます。
test.cpp(1): catastrophic error: could not open source file "iostream"
#include <iostream>
^
compilation aborted for test.cpp (code 4)
デフォルトで gnu のライブラリを使うようになったみたいで
LANG=C icc test.cpp -cxxlib-icc
としてやると、インテルが配布しているライブラリを使うことになりますが、
うまくコンパイル出来ます。-I,-L などのオプションでどうにかなるみたい
ですが、、面倒なので、、
以上を alies にするなり、Makefile に書き込むなりで終了。
または、強制的に LANG=C にして -cxxlib-icc を付けるなら
===============================
5./opt/inte_cc_80/bin/icc の exec 行に LANG=C を前置してやる。
if [ $# != 0 ]
then
LANG=C exec -a "/opt/intel_cc_80/bin/icc" /opt/intel_cc_80/bin/iccbin "$@";
else
LANG=C exec -a "/opt/intel_cc_80/bin/icc" /opt/intel_cc_80/bin/iccbin;
fi
6. /opt/intel_cc_80/icc.cfg に -cxxlib-icc を追加
===============================
以上の手続きで icc を使うことができます。
既知の話題でしたら無視してやってください。。それでは。