避免编译ISO C ++

时间:2013-02-04 17:24:41

标签: c++ compilation compiler-errors

默认情况下,在Ubuntu上,当我尝试使用g ++编译时:

g++ -o name file.cpp

有时它会回应“ISO C ++禁止......”

如果我不想用ISO编译,我应该使用什么标志?

2 个答案:

答案 0 :(得分:2)

使用

g++ -std=c++0x

g++ -std=gnu++0x

注意:如果您使用专有的扩展程序,则代码的可移植性会降低。

  

C ++ 11特性作为GCC Subversion存储库主干和GCC 4.3及更高版本中的“主线”GCC编译器的一部分提供。要启用C ++ 0x支持,请将命令行参数-std = c ++ 0x添加到g ++命令行。或者,要在C ++ 0x扩展之外启用GNU扩展,请将-std = gnu ++ 0x添加到g ++命令行。 GCC 4.7及更高版本支持-std = c ++ 11和-std = gnu ++ 11。

请参阅http://gcc.gnu.org/projects/cxx0x.html

答案 1 :(得分:1)

如果您想使用gcc / g ++扩展,请使用-std=gnu++0x。当然假设它不是“你不能用C ++实际做到这一点”的情况。

相关问题