从 12.04 LTS 升级到 14.04 LTS。现在 C++ 程序无法编译

从 12.04 LTS 升级到 14.04 LTS。现在 C++ 程序无法编译

正如标题所述,我在编译程序时遇到了问题,错误是 C++11 特有的。有什么方法可以让我回到 12.04 上的编译器吗?我需要安装另一个版本的 g++ 然后使用它吗?我在 Google 上搜索了一下,但找不到 12.04 附带的内容。我只是需要一个比 14.04 附带的编译器更老的替代品。

谢谢!

答案1

您可以从软件包中安装 g++ 4.4、4.6 或 4.7 。(然后使用而不是仅仅 来g++-4.X编译您的程序。)g++-4.Xg++

作为参考,Ubuntu 12.04 中的默认 g++ 版本是4.6

答案2

您可以继续使用新的g++,并指定要使用的标准:

-std=
   Determine the language standard.   This option is currently only
   supported when compiling C or C++.

为了12.04man g++说:

gnu++98
   GNU dialect of -std=c++98.  This is the default for C++ code.

因此,使用以下命令编译您的代码:

g++ --std=gnu++98

然而,man g++在 14.04 说:

gnu++98
gnu++03
   GNU dialect of -std=c++98.  This is the default for C++ code.

因此看起来默认标准没有改变。

您确定您的错误根源在哪里吗?

相关内容