一、先看看有没有装过旧版本
装之前先查一下系统里有没有同名的包,有的话建议先卸掉,免得冲突:
rpm -qa | grep compat-gcc-44-c++
如果有输出,比如 compat-gcc-44-c++-xxx,就卸载:
sudo rpm -e compat-gcc-44-c++-xxx --nodeps
二、下载安装包
安装包下载:https://pan.quark.cn/s/f3d669f732da ,去 CentOS 镜像站或者 RPM 仓库找这个包:compat-gcc-44-c++-4.4.7-8.el7.x86_64.rpm。
比如阿里云镜像可以用 wget 直接下(链接仅供参考,实际以镜像为准):
wget http://mirrors.aliyun.com/centos/7/os/x86_64/Packages/compat-gcc-44-c++-4.4.7-8.el7.x86_64.rpm
要是没装 wget,先装一下:
sudo yum install wget -y
三、装依赖(关键!)
compat-gcc-44-c++ 是兼容旧版本 C++ 编译器的包,依赖不少,缺一个都装不上。常见的依赖有这些:
- compat-libstdc++-33
- libstdc++-devel
- gcc-c++
- glibc-devel
- libgcc
- cpp
- mpfr
- libmpc
- gmp-devel
直接用 yum 一次性装齐(省得一个个找):
sudo yum install compat-libstdc++-33 libstdc++-devel gcc-c++ glibc-devel libgcc cpp mpfr libmpc gmp-devel -y
四、开始安装
进入放 rpm 包的目录,执行安装命令:
sudo rpm -ivh compat-gcc-44-c++-4.4.7-8.el7.x86_64.rpm
-i是安装,-v看过程,-h显示进度条。
如果提示缺依赖,就按错误信息把缺的包装上,再重新执行上面的命令。
五、验证是否装好
装完输入下面的命令,看版本对不对:
g++44 --version
(注:compat-gcc-44-c++ 对应的编译器命令是 g++44,不是普通的 g++)
如果输出里有 4.4.7,就说明安装成功了。
六、常见问题
- 提示“依赖检测失败” :别慌,仔细看缺哪个包,用
yum search 包名找到后装上,再重试安装命令。 - 想省事儿装依赖:用 yum 本地安装,它会自动帮你解决依赖(推荐新手用):
sudo yum localinstall compat-gcc-44-c++-4.4.7-8.el7.x86_64.rpm -y
这样就能在 CentOS 7 上装好 compat-gcc-44-c++ 4.4.7 了,适合需要编译老 C++ 项目的场景。