C++ compiler too old, need g++ 4.9.4 or clang++ 3.4.2 (CXX=g++) ERROR: Did not find a new enough ass

安装nodejs时,make时会如下错误

C++ compiler too old, need g++ 4.9.4 or clang++ 3.4.2 (CXX=g++) ERROR: Did not find a new enough ass

原因,执行./configure命令准备编译 node 时说 gcc 版本太低,所以需要升级新的版本的,需要是在6.5到8.0之间,所以下工了一个7.5版本的更新。

第一、gcc 下载地址:https://ftp.gnu.org/gnu/gcc/

第二、上传至服务,并解压

tar -xzvf gcc-7.5.0.tar.gz

第三、进入解压后的文件夹

cd gcc-7.5.0

第四、运行download_prerequisites脚本, ./contrib/download_prerequisites ,这个脚本会自动帮你下 载所需要的依赖文件和库

./contrib/download_prerequisites

第五、创建一个文件夹存放编译文件

mkdir gcc-build-7.5.0

第六、进入编译文件夹

cd gcc-build-7.5.0

第七、执行…/configure -enable-checking=release -enable-languages=c,c++ -disable-multilib

–enable-languages表示你要让你的gcc支持那些语言,–disable-multilib不生成编译为其他平台可执行代码的交叉编译器。–disable-checking生成的编译器在编译过程中不做额外检查,也可以使用*–enable-checking=xxx*来增加一些检查

../configure -enable-checking=release -enable-languages=c,c++ -disable-multilib

第八、编译:make;这一步,比较耗时,大概会耗时2~3小时

make

第九、安装

sudo make install

第十、查看版本

gcc - v

第十一、查找编译 gcc 时生成的最新动态库

find / -name "libstdc++.so*"

第十二、将找到的动态库 libstdc++.so.6.0.24 复制到/usr/lib64

cp ./gcc-7.5.0/gcc-build-7.5.0/stage1-x86_64-unknown-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so.6.0.24 /usr/lib64

注:如上面命令不能复制,需要一步一步切换到 ./gcc-7.5.0/gcc-build-7.5.0/stage1-x86_64-unknown-linux-gnu/libstdc+±v3/src/.libs目录,然后用cp命令复制 libstdc++.so.6.0.24至/usr/lib64下

第十三、切换工作目录至/usr/lib64,删除原来的软连接, 将默认库的软连接指向最新动态库。

cd /usr/lib64
rm -rf libstdc++.so.6
ln -s libstdc++.so.6.0.24 libstdc++.so.6
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值