Fedora 10上的C ++ 11

时间:2014-04-29 16:35:36

标签: c++11 operating-system g++ fedora10

我将在一台不属于我的计算机上工作一个月,因此我会在完成后将其还原。但是,我可以成为root。

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

我尝试了所有这些:

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?我不知道是否允许我更新计算机的操作系统(这是古老的,启动时的电池信息,只是为了一目了然)。而且,由于它很古老,我恐怕不会破坏它(通过升级)。

3 个答案:

答案 0 :(得分:1)

只需将binutils和gcc以及其他先决条件源下载为tarball即可。解压缩并编译到您想要的每个目录。编译大概需要10分钟,你就完成了。我也非常!旧的suse linux并行编译器的广泛变体。

编辑:添加指向gcc wiki的链接

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

BTW并不是OP问题的真正答案,而是快速解决方案:

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

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

答案 1 :(得分:1)

问题解决了。

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

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

  • 可以在$ PATH中添加编译器路径(在标准声明之前定义)。
  • 使用程序时使用完整路径。
  • 你想到的其他东西(simlink等)。

答案 2 :(得分: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标志(Why?)。

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

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

更多方法可以在Jepessen的答案和此{3}的stackoverflow中找到。

将向Klaus和Jepensen提供积分,但我认为将所有人聚在一起可能有助于下一个人(如果有的话,对于Fedora 10 ..:P)