CentOS 7.6
gcc/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
このコマンドを使用して、インストールできるバージョンを確認します
最新版はすでに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
ただし、これを行うと、現在の 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
それが新しいバージョンであることを確認してください
4. 男の無効化について
バージョンアップ後、マニュアルが無効になる場合があります。これは、man の環境変数が変更されたためです。
# echo $MANPATH
/opt/rh/devtoolset-11/root/usr/share/man
man コマンドを使用する必要がある場合は、MANPATH
環境変数も再変更する必要があります。
export MANPATH=/usr/share/man
参照者が何も見つけられないという解決策を解決する