计算化学公社

 找回密码 Forget password
 注册 Register
Views: 4482|回复 Reply: 9
打印 Print 上一主题 Last thread 下一主题 Next thread

[编译与编译器] 请教c++11问题

[复制链接 Copy URL]

3806

帖子

4

威望

7994

eV
积分
11880

Level 6 (一方通行)

MOKIT开发者

跳转到指定楼层 Go to specific reply
楼主
在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);
}

自动做多参考态计算的程序MOKIT

353

帖子

0

威望

2029

eV
积分
2382

Level 5 (御坂)

真 掘墓者

2#
发表于 Post on 2018-1-22 22:56:03 | 只看该作者 Only view this author
本帖最后由 kyuu 于 2018-1-22 22:57 编辑

从 gcc 4.8.1 才开始完整支持 2011 C++
4.4上支持的是C++0x
圣诞刨坟忙

3806

帖子

4

威望

7994

eV
积分
11880

Level 6 (一方通行)

MOKIT开发者

3#
 楼主 Author| 发表于 Post on 2018-1-22 22:57:53 | 只看该作者 Only view this author
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机器上,这个命令就失效了么?
自动做多参考态计算的程序MOKIT

353

帖子

0

威望

2029

eV
积分
2382

Level 5 (御坂)

真 掘墓者

4#
发表于 Post on 2018-1-22 23:11:38 | 只看该作者 Only view this author
试试
icpc -gcc-name=gcc-4.4 -std=c++11
圣诞刨坟忙

3806

帖子

4

威望

7994

eV
积分
11880

Level 6 (一方通行)

MOKIT开发者

5#
 楼主 Author| 发表于 Post on 2018-1-23 13:04:08 | 只看该作者 Only view this author
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以上的
自动做多参考态计算的程序MOKIT

146

帖子

0

威望

940

eV
积分
1087

Level 4 (黑子)

6#
发表于 Post on 2018-1-23 16:17:55 | 只看该作者 Only view this author
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)

3806

帖子

4

威望

7994

eV
积分
11880

Level 6 (一方通行)

MOKIT开发者

7#
 楼主 Author| 发表于 Post on 2018-1-23 17:02:28 | 只看该作者 Only view this author
北纬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系统。
自动做多参考态计算的程序MOKIT

146

帖子

0

威望

940

eV
积分
1087

Level 4 (黑子)

8#
发表于 Post on 2018-1-23 17:36:38 | 只看该作者 Only view this author
zjxitcc 发表于 2018-1-23 17:02
升级或自己装一个GCC固然可以,但是担心有些库可能没更新或者不全,所以重新刷了centos7系统。

centos都太老了

3806

帖子

4

威望

7994

eV
积分
11880

Level 6 (一方通行)

MOKIT开发者

9#
 楼主 Author| 发表于 Post on 2018-1-23 19:43:00 | 只看该作者 Only view this author

老铁你用什么,Ubuntu?
自动做多参考态计算的程序MOKIT

146

帖子

0

威望

940

eV
积分
1087

Level 4 (黑子)

10#
发表于 Post on 2018-1-24 09:13:42 | 只看该作者 Only view this author
zjxitcc 发表于 2018-1-23 19:43
老铁你用什么,Ubuntu?

是的

本版积分规则 Credits rule

手机版 Mobile version|北京科音自然科学研究中心 Beijing Kein Research Center for Natural Sciences|京公网安备 11010502035419号|计算化学公社 — 北京科音旗下高水平计算化学交流论坛 ( 京ICP备14038949号-1 )|网站地图

GMT+8, 2024-11-23 18:27 , Processed in 0.172554 second(s), 21 queries , Gzip On.

快速回复 返回顶部 返回列表 Return to list