0

我将在一台不是我的电脑上工作一个月,因此我一完成就将其归还。但是,我可以是root。

问题是我无法运行 C++11。我对最新的编译器不感兴趣,只是一个可以支持一些 C++11 的编译器(例如,我不关心 regex)。

我尝试了所有这些:

sudo yum install gcc-c++

这使:

Loaded plugins: dellsysidplugin, kernel-module, refresh-packagekit Setting up Install Process Package gcc-c++-4.3.2-7.i386 already installed and latest version Nothing to do

sudo update-alternatives --config gcc

什么都不给

bash-3.2$ g++ --version

这使:

g++ (GCC) 4.3.2 20081105 (Red Hat 4.3.2-7) Copyright (C) 2008 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

yum groupinstall "Development Tools"

说是最新版本

一些汇编:

bash-3.2$ g++ px.cpp -std=c++0x -o px px.cpp:2:18: error: chrono: No such file or directory

我能做些什么?问题出在fedora 10上?我不知道是否允许我更新计算机的操作系统(这是古老的,启动时的电池信息,只是为了看一眼)。而且,既然是古老的,恐怕就不要破坏了(通过升级)。

4

3 回答 3

1

问题解决了。

对于其他人:需要下载和构建最后一个版本。

在此之后,有必要知道编译器在哪里才能使用它而不是旧的:

  • 可以在 $PATH 中添加编译器路径(在标准声明之前定义)。
  • 使用程序时使用完整路径。
  • 您想到的其他内容(simlink 等)。
于 2014-04-30T12:48:23.433 回答
1

只需将 binutils 和 gcc 以及其他先决条件源下载为 tarball。解压缩并编译到您想要的每个目录。编译可能需要 10 分钟,然后你就完成了。我也有一个很!旧的 suse linux 与多种并行编译器。

编辑:添加到 gcc wiki 的链接

http://gcc.gnu.org/wiki/InstallingGCC

顺便说一句,这不是对 OP 问题的真正答案,而是一个快速的解决方案:

您如何看待下载 Fedora 20、刻录 CD 或使用足够大的 USB 记忆棒、从 CD 或 USB 记忆棒启动并将卷安装在笔记本电脑上并享受乐趣。在fedora 20 中,gcc 4.8.2 已包含在内。应该是某些退出任务的替代方案。

如果您只想运行非常小的示例,您也可以使用唯一的编译器: 例如http://www.compileonline.com/compile_cpp11_online.php 。G* 和其他人可以找到更多。

于 2014-04-29T17:38:06.430 回答
0

我决定写这个答案,以便它有完整的答案。

您不能通过通常的方法(例如sudo yum install gcc-c++)安装编译器,因为fedora 10 太旧了。您必须手动下载并安装它。

gnu下载你想要的编译器。我下载了 gcc-4.6.2.tar.gz(在 gcc-4.6.2 文件夹下)。

然后,是时候配置和构建编译器了。进入您想要的目录并执行以下操作(我只是留在下载文件夹中):

注意:这可能需要一些时间(我使用的计算机真的很旧,花了超过 45 分钟)

tar xzf gcc-4.6.2.tar.gz cd gcc-4.6.2 ./contrib/download_prerequisites cd .. mkdir objdir cd objdir $PWD/../gcc-4.6.2/configure --prefix=$HOME/gcc-4.6.2 make make install

来源:gcc wiki(感谢 Klaus)

然后,为了编译 C++11,我必须提供新编译器的完整路径并添加-static标志(为什么?)。

就我而言,我会将 px.cpp 文件编译为 px 可执行文件,如下所示:

/user/gsamaras/home/gcc-4.6.2/bin/g++ px.cpp -static -std=gnu++0x -o px

更多方法可以在 Jepessen 的回答和 stackoverflow 的这个角落找到。

Klaus 和 Jepensen 将获得学分,但我认为将所有人组合在一起可能会对下一个人有所帮助(如果有的话,对于 fedora 10 .. :P )

于 2014-04-30T15:20:47.610 回答