在 RHEL 6 上安装 g++

在 RHEL 6 上安装 g++

gcc我正在尝试在 Red Hat Enterprise Linux 6 上安装 g++(已安装)。

我尝试过以下方法:

$ yum install g++
$ yum install c++
$ yum install gcc-g++
$ yum install gcc-c++

并且没有安装任何东西。我也尝试过:

$ yum search g++
$ yum search c++

没有点击。

这是怎么回事?

答案1

repoquery <string>您可以使用或等命令yum search <string>来搜索存储库中可用的包。

例子

$ repoquery 'gcc*'
gcc-0:4.5.1-4.fc14.x86_64
gcc-c++-0:4.5.1-4.fc14.x86_64
gcc-gfortran-0:4.5.1-4.fc14.i686
gcc-gfortran-0:4.5.1-4.fc14.x86_64
gcc-gnat-0:4.5.1-4.fc14.x86_64
gcc-java-0:4.5.1-4.fc14.x86_64
gcc-objc-0:4.5.1-4.fc14.x86_64
gcc-objc++-0:4.5.1-4.fc14.x86_64
gccxml-0:0.9.0-0.6.20110211.fc14.x86_64

或这个:

$ yum search gcc | grep '^gcc'
gcc-gnat.x86_64 : Ada 95 support for GCC
gcc-objc.x86_64 : Objective-C support for GCC
gcc-objc++.x86_64 : Objective-C++ support for GCC
gccxml.x86_64 : XML output extension to GCC
gcc.x86_64 : Various compilers (C, C++, Objective-C, Java, ...)
gcc-c++.x86_64 : C++ support for GCC
gcc-gfortran.i686 : Fortran support
gcc-gfortran.x86_64 : Fortran support
gcc-java.x86_64 : Java support for GCC

如果这些搜索均未返回任何匹配项,或者“克++“其中缺少结果,那么您需要将包含这些包的存储库添加到 RHEL。

与往常一样,您可以通过此命令找到您配置使用的存储库,例如,以下是我的 Fedora 系统上的前 15 个存储库:

$ yum repolist | head -15
Loaded plugins: langpacks, presto, refresh-packagekit
Adding en_US to language list
repo id                    repo name                                      status
Dropbox                    Dropbox Repository                                  4
adobe-linux-i386           Adobe Systems Incorporated                         17
adobe-linux-x86_64         Adobe Systems Incorporated                          2
fedora                     Fedora 14 - x86_64                             22,161
google-chrome              google-chrome                                       3
google-earth               google-earth                                        1
google-talkplugin          google-talkplugin                                   1
lamolabs                   LamoLabs Repo                                      58
lamolabs-noarch            LamoLabs Repo                                       2
nautilus-flickr-uploader   Nautilus Flickr Uploader for Fedora 14              3
rpmfusion-free             RPM Fusion for Fedora 14 - Free                   411
rpmfusion-free-updates     RPM Fusion for Fedora 14 - Free - Updates         642

RHEL

由于您使用的是 RHEL,我认为情况对您来说略有不同。我会查阅 Redhat 的官方文档,因为无论如何你都要支付支持合同的费用。

根据这个页面,2.2. GNU C++ 编译器,您可以执行以下操作来安装 g++。

摘抄

2.2.1.安装 C++ 编译器

在 Red Hat Developer Toolset 中,GNU C++ 编译器由 devtoolset-1.1-gcc-c++ 软件包提供,并随 devtoolset-1.1 软件包自动安装,如第 1.5 节 “安装 Red Hat Developer Toolset”中所述。

2.2.2.使用 C++ 编译器

要在命令行上编译 C++ 程序,请运行 g++ 编译器,如下所示: scl enable devtoolset-1.1 'g++ -o output_file source_file...' 这将在当前工作目录中创建一个名为 output_file 的二进制文件。如果省略 -o 选项,g++ 编译器默认创建一个名为 a.out 的文件。

当您处理由多个源文件组成的项目时,通常首先为每个源文件编译一个目标文件,然后将这些目标文件链接在一起。这样,当您更改单个源文件时,您可以仅重新编译该文件,而不必编译整个项目。要在命令行上编译目标文件,请运行以下命令:

    scl enable devtoolset-1.1 'g++ -o object_file -c source_file'

这将创建一个名为 object_file 的对象文件。如果省略 -o 选项,g++ 编译器将创建一个以源文件命名且文件扩展名为 .o 的文件。要将目标文件链接在一起并创建二进制文件,请运行:

    scl enable devtoolset-1.1 'g++ -o output_file object_file...'

请注意,您可以使用 scl 实用程序执行任何命令,从而使其与优先于 Red Hat Enterprise Linux 系统等效项使用的 Red Hat Developer Toolset 二进制文件一起运行。这允许您默认使用 Red Hat Developer Toolset g++ 运行 shell 会话:

    scl enable devtoolset-1.1 'bash'

相关内容