ICC(14.0)甚至无法在Ubuntu 13.10中编译hello-world?

时间:2013-11-23 14:05:50

标签: c++ linux gcc intel

Linux新手,我刚安装了一个Ubuntu 13.10 64位,Eclipse 3.8和intel的ICC 14.0。

GCC随附Ubuntu是版本4.8.1。

到目前为止,安装的ICC甚至无法在Eclipse中编译hello-world,因为它无法编译iostream头。

iostream标头将包含另一个名为c++config.h的标头,存储在/usr/include/x86_64-linux-gnu/c++/4.8/bits

iostream标题本身存储在/usr/include/c++/4.8

GCC编译器可以完美地编译hello-world cpp和其他c ++文件,但是ICC甚至无法编译hello-world,告诉我它找不到c++config.h标题,即使我在项目中包含它的路径

任何人都知道这方面的任何解决方法吗?

2 个答案:

答案 0 :(得分:2)

你可以:

  1. 在命令行中添加系统包含

    icc -idirafter /usr/include/x86_64-linux-gnu/c++/4.8/ -I ... -L ... my.cpp

  2. 永久将其添加到icc.cfg

    cat /opt/intel/composer_xe_2013_sp1.1.106/bin/intel64/icc.cfg

    -idirafter / usr / include / x86_64-linux-gnu / c ++ / 4.8 /

  3. 我成功地用它来编译scipy。

答案 1 :(得分:1)

在不改变设置的情况下存在两种可能性:

  1. 安装旧版本的GCC和默认版本,假设ICC可以使用某个版本,可能不是你现在拥有的新版本。
  2. 安装较新版本的ICC。看起来您可能已经拥有最新版本,但也许有一个补丁版本。我有点怀疑它。
  3. 当混合和匹配不同的编译器和标准库时,这种事情经常发生。如果两者的年龄大致相同,那将会有所帮助。