原先的centos7中安装的gcc编译器为4.8.5,版本太旧,执行一些程序完全不够用阿 比如 网易云音乐等
所以今天博主带你升级gcc9.2.0最新版
1.安装编译环境
# yum install -y gcc bzip2 glibc-headers gcc-c++
2.查看当前gcc版本
# gcc -v
使用内建 specs。
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/lto-wrapper
目标:x86_64-redhat-linux
配置为:../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-bootstrap --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-linker-hash-style=gnu --enable-languages=c,c++,objc,obj-c++,java,fortran,ada,go,lto --enable-plugin --enable-initfini-array --disable-libgcj --with-isl=/builddir/build/BUILD/gcc-4.8.5-20150702/obj-x86_64-redhat-linux/isl-install --with-cloog=/builddir/build/BUILD/gcc-4.8.5-20150702/obj-x86_64-redhat-linux/cloog-install --enable-gnu-indirect-function --with-tune=generic --with-arch_32=x86-64 --build=x86_64-redhat-linux
线程模型:posix
gcc 版本 4.8.5 20150623 (Red Hat 4.8.5-36) (GCC)
3.获取安装包并解压
# cd /usr/local
# wget https://ftp.gnu.org/gnu/gcc/gcc-9.2.0/gcc-9.2.0.tar.gz
# tar -xvf gcc-9.2.0.tar.gz
4.进入解压后的gcc文件夹,下载供编译需求的依赖项
# cd gcc-9.2.0
# ./contrib/download_prerequisites
5.建立一个文件夹存放编译文件
# mkdir build && cd build
6.生成 Makefile 文件并且安装(此过程极为漫长)
# ../configure --enable-bootstrap --enable-checking=release --enable-languages=c,c++ --disable-multilib
# make && make install
7.设置为默认编译器
# export PATH=/usr/local/gcc-9.2.0/bin:$PATH
# vim ~/.bashrc (最后一行加入 export PATH=/usr/local/gcc-9.2.0/bin:$PATH )
8.查找编译gcc时生成的最新动态库
# gcc -v
使用内建 specs。
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/lto-wrapper
目标:x86_64-redhat-linux
配置为:../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-bootstrap --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-linker-hash-style=gnu --enable-languages=c,c++,objc,obj-c++,java,fortran,ada,go,lto --enable-plugin --enable-initfini-array --disable-libgcj --with-isl=/builddir/build/BUILD/gcc-4.8.5-20150702/obj-x86_64-redhat-linux/isl-install --with-cloog=/builddir/build/BUILD/gcc-4.8.5-20150702/obj-x86_64-redhat-linux/cloog-install --enable-gnu-indirect-function --with-tune=generic --with-arch_32=x86-64 --build=x86_64-redhat-linux
线程模型:posix
gcc 版本 4.8.5 20150623 (Red Hat 4.8.5-36) (GCC)
[root@ay build]# find / -name "libstdc++.so*"
find: ‘/run/user/1000/gvfs’: 权限不够
/var/lib/flatpak/runtime/com.deepin.wine.Platform/i386/2.18.1/4733a106047bcb12e32c60a47370d9d7288aca3a80f28e0da9f71f5497bfec98/files/lib/i386-linux-gnu/libstdc++.so.6
/var/lib/flatpak/runtime/com.deepin.wine.Platform/i386/2.18.1/4733a106047bcb12e32c60a47370d9d7288aca3a80f28e0da9f71f5497bfec98/files/lib/i386-linux-gnu/libstdc++.so.6.0.25
/var/lib/flatpak/runtime/com.deepin.wine.Platform/i386/2.18.1/4733a106047bcb12e32c60a47370d9d7288aca3a80f28e0da9f71f5497bfec98/files/lib/i386-linux-gnu/libstdc++.so.6.0.25-gdb.py
find: ‘/tmp/.mount_jetbraDGRolG’: 权限不够
/usr/lib/gcc/x86_64-redhat-linux/4.8.2/32/libstdc++.so
/usr/lib/gcc/x86_64-redhat-linux/4.8.2/libstdc++.so
/usr/lib/libstdc++.so.6
/usr/lib/libstdc++.so.6.0.19
/usr/lib64/libstdc++.so.6.0.19
/usr/lib64/libstdc++.so.6.bak
/usr/lib64/libstdc++.so.6.0.27
/usr/lib64/libstdc++.so.6
/usr/share/gdb/auto-load/usr/lib64/libstdc++.so.6.0.19-gdb.py
/usr/share/gdb/auto-load/usr/lib64/libstdc++.so.6.0.19-gdb.pyc
/usr/share/gdb/auto-load/usr/lib64/libstdc++.so.6.0.19-gdb.pyo
/usr/share/gdb/auto-load/usr/lib/libstdc++.so.6.0.19-gdb.py
/usr/share/gdb/auto-load/usr/lib/libstdc++.so.6.0.19-gdb.pyc
/usr/share/gdb/auto-load/usr/lib/libstdc++.so.6.0.19-gdb.pyo
/usr/local/gcc-9.2.0/build/stage1-x86_64-pc-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so.6.0.27
/usr/local/gcc-9.2.0/build/stage1-x86_64-pc-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so.6
/usr/local/gcc-9.2.0/build/stage1-x86_64-pc-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so
/usr/local/gcc-9.2.0/build/x86_64-pc-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so.6.0.27
/usr/local/gcc-9.2.0/build/x86_64-pc-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so.6
/usr/local/gcc-9.2.0/build/x86_64-pc-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so
/usr/local/gcc-9.2.0/build/prev-x86_64-pc-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so.6.0.27
/usr/local/gcc-9.2.0/build/prev-x86_64-pc-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so.6
/usr/local/gcc-9.2.0/build/prev-x86_64-pc-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so
/usr/local/gcc-9.2.0/lib64/libstdc++.so.6.0.27
/usr/local/gcc-9.2.0/lib64/libstdc++.so.6
/usr/local/gcc-9.2.0/lib64/libstdc++.so
/usr/local/gcc-9.2.0/lib64/libstdc++.so.6.0.27-gdb.py
9.将找到的动态库libstdc++.so.6.0.27复制到/usr/lib64
# cp /usr/local/gcc-9.2.0/build/stage1-x86_64-pc-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so.6.0.27 /usr/lib64
10.切换工作目录至/usr/lib64,删除原来的软连接, 将默认库的软连接指向最新动态库。
# cd /usr/lib64
# rm -rf libstdc++.so.6
# ln -s libstdc++.so.6.0.27 libstdc++.so.6
11.验证
# gcc -v
使用内建 specs。
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/local/gcc-9.2.0/libexec/gcc/x86_64-pc-linux-gnu/9.2.0/lto-wrapper
目标:x86_64-pc-linux-gnu
配置为:../configure --prefix=/usr/local/gcc-9.2.0/ --enable-checking=release --enable-languages=c,c++ --disable-multilib
线程模型:posix
gcc 版本 9.2.0 (GCC)
到此完成gcc9.2的安装
这文章copy的吧,前后接不上
复制的bash 安装过才发的
博主,你页面显示markdown的代码插件是什么?可以分享一下吗?→_→
模板自带的