计算化学公社

标题: 请教c++11问题 [打印本页]

作者
Author:
zjxitcc    时间: 2018-1-22 16:10
标题: 请教c++11问题
在gcc 4.4.7的机器上安装了intel 2017,发现仍然用不了c++11的特性;而在gcc 4.8.5的机器上,安装的intel编译器则可以使用c++11的特性。难道icpc是否支持c++11标准与该机器上的gcc版本有关?
如果无关,能否让icpc支持c++11?

PS1:在gcc 4.4.7的机器上运行 icpc -v 显示 icpc version 17.0.1 (gcc version 4.4.7 compatibility)。
PS2:在gcc 4.4.7的机器上:icpc a.cpp -std=c++11 -o aaa 报错error: namespace "std" has no member "nullptr_t";而在gcc 4.8.5的机器上,安装的intel编译器则无此问题。
PS3:a.cpp是一个测试是否支持c++11的例子(见下):
#include <cstddef>
#include <iostream>

void f(int* pi)
{ std::cout << "Pointer to integer overload\n";
}
void f(double* pd)
{ std::cout << "Pointer to double overload\n";
}
void f(std::nullptr_t nullp)
{ std::cout << "null pointer overload\n";
}
int main()
{   int* pi; double* pd;
    f(pi);
    f(pd);
    f(nullptr);
}


作者
Author:
kyuu    时间: 2018-1-22 22:56
本帖最后由 kyuu 于 2018-1-22 22:57 编辑

从 gcc 4.8.1 才开始完整支持 2011 C++
4.4上支持的是C++0x

作者
Author:
zjxitcc    时间: 2018-1-22 22:57
kyuu 发表于 2018-1-22 22:56
从 gcc 4.8.1 才开始完整支持 2011 C++

gcc 4.8.1才开始支持c++11这个我知道,但是这会影响到我装的intel编译器么?icpc的编译选项里是有-std=c++11的,是因为装在gcc 4.4.7机器上,这个命令就失效了么?
作者
Author:
kyuu    时间: 2018-1-22 23:11
试试
icpc -gcc-name=gcc-4.4 -std=c++11
作者
Author:
zjxitcc    时间: 2018-1-23 13:04
kyuu 发表于 2018-1-22 23:11
试试
icpc -gcc-name=gcc-4.4 -std=c++11

这个会报错,我后来用了icpc -gxx-name=/usr/bin/g++ -std=c++11(或c++0x)还是不行。现在已经在刷系统了哈哈哈,刷成gcc 4.8以上的
作者
Author:
北纬18°    时间: 2018-1-23 16:17
zjxitcc 发表于 2018-1-23 13:04
这个会报错,我后来用了icpc -gxx-name=/usr/bin/g++ -std=c++11(或c++0x)还是不行。现在已经在刷系统 ...

自己编译gcc啊
我就是 gcc (GCC) 7.2.1 20180123, icpc version 18.0.1 (gcc version 7.2.1 compatibility)
作者
Author:
zjxitcc    时间: 2018-1-23 17:02
北纬18° 发表于 2018-1-23 16:17
自己编译gcc啊
我就是 gcc (GCC) 7.2.1 20180123, icpc version 18.0.1 (gcc version 7.2.1 compatibil ...

升级或自己装一个GCC固然可以,但是担心有些库可能没更新或者不全,所以重新刷了centos7系统。
作者
Author:
北纬18°    时间: 2018-1-23 17:36
zjxitcc 发表于 2018-1-23 17:02
升级或自己装一个GCC固然可以,但是担心有些库可能没更新或者不全,所以重新刷了centos7系统。

centos都太老了
作者
Author:
zjxitcc    时间: 2018-1-23 19:43
北纬18° 发表于 2018-1-23 17:36
centos都太老了

老铁你用什么,Ubuntu?
作者
Author:
北纬18°    时间: 2018-1-24 09:13
zjxitcc 发表于 2018-1-23 19:43
老铁你用什么,Ubuntu?

是的




欢迎光临 计算化学公社 (http://bbs.keinsci.com/) Powered by Discuz! X3.3