|
这个问题可能比较菜鸟。各位多帮忙了。
我安装了SLES11,而后又安装了intel C 编译器10.1
配置环境变量
- >source /opt/intel/cc/10.1.022/bin/iccvars.sh
复制代码
参照iccvars.sh中的设置,同时将需要的环境变量加入到~/.profile当中。
可以通过icc和gcc编译执行C语言的hello world,代码如下:
- #include <stdio.h>
- main(){
- printf("hello world\n");
- }
复制代码
好啦,下面就是问题了。
问题出在,当我使用icc编译C++的hello world的时候,就无法编译,给出相应错误信息。
Hello world 的代码
- #include <stdio.h>
- #include <iostream>
- int main() {
- std::cout << "Hello World !" << std::endl;
- return 0; }
复制代码
出错信息
- >icc hello.cc -o hello
- ld: skipping incompatible /usr/lib64/gcc/x86_64-suse-linux/4.3/32/../libstdc++.so when searching for -lstdc++
- ld: skipping incompatible /usr/lib64/gcc/x86_64-suse-linux/4.3/32/../libstdc++.a when searching for -lstdc++
- ld: cannot find -lstdc++
复制代码
几点说明:
- 我认为是ld连接出现问题,但是不知道应该怎么解决。环境变量LD_LIBRARY_PATH=/opt/intel/cc/10.1.022/lib:/opt/intel/fc/10.1.022/lib
- 我还在/usr/lib中找到了libstdc++.so.5,不过很显然,并不起作用;
- g++可以正常编译以上C++代码;
- 我也尝试过icpc,错误提示是一样的。
最后,谢谢各位帮忙吧。 |
|