1

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

g++ -o name file.cpp

有时它会以“ISO C++ 禁止...”作为响应。

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

4

2 回答 2

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

于 2013-02-04T17:26:38.963 回答
1

如果要使用 gcc/g++ 扩展,请使用-std=gnu++0x. 当然,假设这不是“您实际上不能在 C++ 中执行此操作”的情况。

于 2013-02-04T17:27:21.770 回答