昨天在 Intel 的官网上下载了非商业开发 C++编译器,我的系统是 Ubuntu 64 位,所以下载的是 Intel64 版。关于 ia32\ia64\intel64 的区别我在维基百科上查阅了相关资料,具体内容可以看这里。32 位系统直接下载 ia32 即可。
由于 Intel 的编译器目前只支持到 Ubuntu 9.04,我在 9.10 上的安装就遇到了问题。解压安装包,在终端运行./install.sh,按照提示一步一步进行,在检查系统环境时就提示没有找到 32 位的 libgcc 等库。按照安装包里的文档说明,安装了 ia32-libs,安装程序还是提示找不到文件。Google 搜索后,在 Ubuntu 英文论坛上找到了解决方案。
记得最初 Karmic 处于测试期时,有小白升级后发现很多依赖 libstdc++5 的软件无法运行,因为 Karmic 中已经用 libstdc++6 取代了这个包。这次安装 Intel 编译器遇到的也是这个问题。
在这里下载 libstdc++5 的 deb 包,解压后找到./usr/lib 文件夹下的 libstdc++.so.5.0.7,然后
sudo install libstdc++.so.5.0.7 /usr/lib32
cd /usr/lib32
sudo ln -s libstdc++.so.5.0.7 libstdc++.so.5
然而以上方法太麻烦而且安装后无法使用编译器,直接在 Debian 的官网上搜索 libstdc++5,下载 amd64 的 deb 包安装即可。
这样就能够顺利安装了,我没有使用 sudo 安装,选择直接安装在 ~/intel 目录下。
要使用该编译器,运行命令:
source /link/to/the/compiler/bin/intel64/iccvars_intel64.sh
32 位系统请自行修改。将这句命令加入.bashrc 文件,以后就可以直接使用 icc 来编译程序了。 据说 Intel 的编译器编译出的程序执行效率会有相当的提升,准备尝试一下。现在对 LinuxDNA 这个项目很感兴趣,使用 icc 编译的 Linux 内核,相比 gcc 如何呢?