5ucms论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 15172|回复: 0

[centos] C++ compiler (CXX=g++, 4.8.5) too old, need g++ 6.3.0

[复制链接]

670

主题

785

帖子

8228

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
8228
发表于 2021-5-3 17:26:47 | 显示全部楼层 |阅读模式
安装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/
邱嵩松注:截至2021.5.3,现在是11.1.0版本了,根据需要自己改下边的7.5.0就行

第二、上传至服务,并解压
  1. tar -xzvf gcc-7.5.0.tar.gz
复制代码


第三、进入解压后的文件夹
  1. cd gcc-7.5.0
复制代码


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


第五、创建一个文件夹存放编译文件
  1. mkdir gcc-build-7.5.0
复制代码


第六、进入编译文件夹
  1. cd gcc-build-7.5.0
复制代码


第七、执行
  1. …/configure -enable-checking=release -enable-languages=c,c++ -disable-multilib
复制代码

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

第八、编译:make;这一步,比较耗时,大概会耗时2~3小时
  1. make
复制代码
邱嵩松认为2-3小时都是短的,简易临睡前弄,第二天早上再继续吧,不明白这里为什么要编译那么久



第九、安装
  1. sudo make install
复制代码


第十、查看版本
  1. gcc - v
复制代码


第十一、查找编译 gcc 时生成的最新动态库
  1. find / -name "libstdc++.so*"
复制代码


第十二、将找到的动态库 libstdc++.so.6.0.24 复制到/usr/lib64
  1. 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,删除原来的软连接, 将默认库的软连接指向最新动态库。
  1. cd /usr/lib64
  2. rm -rf libstdc++.so.6
  3. ln -s libstdc++.so.6.0.24 libstdc++.so.6
复制代码


————————————————


版权声明:本文为CSDN博主「longzhoufeng」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/longzhoufeng/article/details/107857364
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|5ucms.com

GMT+8, 2024-3-28 20:05 , Processed in 2.453125 second(s), 30 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表