【Linux】CentOS7.6 アップグレード gcc/g++

CentOS 7.6gcc/g++ をアップグレードする方法は、他の Linux システムには適用できない場合があります

1.バージョンを見る

g++ -v
gcc -v

現在バージョンを確認していますが、4.8.5これはすでに 2015 年の古いバージョンであり、c++11そのサポートは完全ではありません. 新しいバージョンコードの学習と記述を容易にするために、アップグレードすることはまだ可能です.

システムに gcc/g++ がない場合は、次の方法でインストールしてみてください

yum install -y gcc gcc-c++

[root@bt-7274:~]# yum install -y gcc gcc-c++
Loaded plugins: fastestmirror, langpacks, product-id, search-disabled-repos, subscription-manager

This system is not registered with an entitlement server. You can use subscription-manager to register.

Repository epel is listed more than once in the configuration
Loading mirror speeds from cached hostfile
 * centos-sclo-rh: ftp.sjtu.edu.cn
 * centos-sclo-sclo: ftp.sjtu.edu.cn
Package gcc-4.8.5-44.el7.x86_64 already installed and latest version
Package gcc-c++-4.8.5-44.el7.x86_64 already installed and latest version
Nothing to do

2.アップグレード

yum list dev\*gcc

このコマンドを使用して、インストールできるバージョンを確認します

画像-20230131152231287

最新版はすでに11になっていることがわかるので、そのまま最新版をインストールしてみましょう

yum install devtoolset-11-gcc devtoolset-11-gcc-c++
Installed:
  devtoolset-11-gcc.x86_64 0:11.2.1-9.1.el7                                                     devtoolset-11-gcc-c++.x86_64 0:11.2.1-9.1.el7                                                    

Dependency Installed:
  devtoolset-11-binutils.x86_64 0:2.36.1-1.el7.2                 devtoolset-11-libstdc++-devel.x86_64 0:11.2.1-9.1.el7                 devtoolset-11-runtime.x86_64 0:11.1-2.el7                

Complete!

表示されたらcompleteインストール完了です

3. 有効にする

あとは、新しくインストールしたバージョンを有効にするだけです

source /opt/rh/devtoolset-11/enable

画像-20230131152404244

ただし、これを行うと、現在の bash でのみ有効になり、新しい bash を作成した場合でも有効であることがわかります4.8.5このステートメントをbashrcの構成ファイルに書き込んで、新しいbashが作成されるたびに自動的に実行されるようにします。

を変更するには/etc/bashrc、変更する前にバックアップを作成することを強くお勧めします

cp /etc/bashrc ~/bashrc.bak

次に、次の 2 つのコマンドを実行します。

echo "source /opt/rh/devtoolset-11/enable" >> /etc/bashrc
source /etc/bashrc

これでOKです。新しいbashを作成し、gcc -vそれが新しいバージョンであることを確認してください

画像-20230131152622618

4. 男の無効化について

バージョンアップ後、マニュアルが無効になる場合があります。これは、man の環境変数が変更されたためです。

# echo $MANPATH
/opt/rh/devtoolset-11/root/usr/share/man

man コマンドを使用する必要がある場合は、MANPATH環境変数も再変更する必要があります。

export MANPATH=/usr/share/man

参照者が何も見つけられないという解決策を解決する

おすすめ

転載: blog.csdn.net/muxuen/article/details/130200525