当前位置: 首页 > news >正文

网站制作公司南宁黄页网

网站制作公司南宁,黄页网,免费域名注册网站,html5网站修改gcc是GNU项目开源的编译器套件,最初仅支持C语言linux中的默认标准编译器,后扩展为支持C、Fortran、Ada、Go等十多种编程语言。它在Linux中是默认的标准编译器,负责将源代码转换为可执行文件,涵盖预处理、编译、汇编、链接等步骤 已…

        gcc是GNU项目开源的编译器套件,最初仅支持C语言linux中的默认标准编译器,后扩展为支持C++、Fortran、Ada、Go等十多种编程语言。它在Linux中是默认的标准编译器,负责将源代码转换为可执行文件,涵盖预处理、编译、汇编、链接等步骤

  • 已安装最新版本的gcc,为什么程序运行时还是提示“库版本过低”

通过gcc -v 确认编译器版本是符合文档要求,但是运行时还是显示libstdc++.so6版本太低

img

原因如下:

1.GCC编译器和运行时库(如libstdc++.so.6)是分离的。安装新GCC时,旧版系统库可能未被替换,导致程序任链接到旧库。系统中的/lib64/libstdc++.so.6文件实际指向的库版本较低。

  • 即使通过源码或包管理器安装了新版GCC(如GCC 10.2.0),默认不会替换系统默认库路径(/lib64/)下的libstdc++.so.6(因为该文件被旧版GCC或系统关键组件占用)。

  • 新版GCC的库通常安装在独立目录(如/usr/local/lib64/),而系统运行时默认加载的是/lib64/下的旧库。

Wstrings /usr/lib64/libstdc++.so.6 | grep GLIBCXX  # 查看支持的库版本

2.多版本的GCC共存导致路径混淆

系统可能同时存在多个GCC版本(如通过源码安装新版,旧版保留)。若环境变量LD_LIBRARY_PATH未指向新版库路径,程序任加载旧库。或者未更新动态库缓存(ldconfig),导致程序加载旧库。

echo $LD_LIBRARY_PATH  # 查看库搜索路径
find / -name "libstdc++.so*" 2>/dev/null  # 查找所有库文件位置

解决方案:

方法1:手动链接新版库到系统目录(推荐)
方法将高版本GCC提供的libstdc++.so.6软链接到系统库目录(需root权限)。操作前务必备份旧库!
# 1. 查找新版libstdc++.so.6的具体路径(例如GCC 10.2.0的库)
find / -name "libstdc++.so*" 2>/dev/null | grep -P 'libstdc\+\+.so.6\..*'
​
# 示例输出(根据实际安装路径调整):
# /usr/local/gcc-10.2.0/lib64/libstdc++.so.6.0.28
​
# 2. 备份旧库(避免操作失误导致系统故障)
sudo mv /lib64/libstdc++.so.6 /lib64/libstdc++.so.6.bak
​
# 3. 创建新库软链接
sudo ln -s /usr/local/gcc-10.2.0/lib64/libstdc++.so.6.0.28 /lib64/libstdc++.so.6
​
# 4. 更新动态库缓存
sudo ldconfig
​
# 5. 验证新版本是否生效
strings /lib64/libstdc++.so.6 | grep 'CXXABI_.*\..'
​
# 检查输出中应包含`CXXABI_1.3.9`,例如:
# CXXABI_1.3.9
# CXXABI_1.3.10
方法2:通过环境变量指定库路径(临时使用)

若不想修改系统库(如生产环境无root权限),可设置LD_LIBRARY_PATH指向新版库目录:

# 假设新版库路径为:/usr/local/gcc-10.2.0/lib64/
export LD_LIBRARY_PATH=/usr/local/gcc-10.2.0/lib64:$LD_LIBRARY_PATH
​
# 再运行程序
./utsdaemon.out
​
# 永久生效:将上述export命令添加到用户profile(~/.bashrc或~/.bash_profile)
方法3:使用包管理器升级系统库(CentOS/RHEL)

若新版GCC来自官方仓库,尝试直接升级libstdc++包:

# 查看已安装版本
rpm -q libstdc++
​
# 升级到最新版本
sudo yum update libstdc++
​
# 重启或重新登录(部分程序需重启)

关键验证步骤:

  • 检查库实际版本

strings /lib64/libstdc++.so.6 | grep 'CXXABI_.*\..'
#若输出中包含CXXABI_1.3.9,则问题已解决

软链接是什么

软链接就是相当于windows中的快捷方式,通过链接到指定的可执行文件。

linux环境变量

修改环境变量后,执行 source /etc/profile 会重新新增部分环境变量值,重启服务器后恢复,重复的不影响。

/etc/profile中多个value,用":"隔开。

http://www.hkea.cn/news/247034/

相关文章:

  • 宿迁做网站的公司有人看片吗免费观看视频
  • 什么人最需要建设网站淘宝运营一般要学多久
  • 海南网站优化东莞免费建站公司
  • 传播型网站建设优势有哪些推广类软文
  • 如何在百度做网站推广赚钱的软件
  • c# 网站开发教程周口网站seo
  • 湘西网站建设帮人推广注册app的平台
  • 切图做网站web制作网站的模板
  • 网站的做网站公司哪家好网络优化大师app
  • 国内外包网站今日头条(官方版本)
  • 外网建筑设计网站线上渠道推广有哪些方式
  • 厦门做网站公司排名电工培训机构
  • 武汉网站设计制作外包公司的人好跳槽吗
  • 网站建设哪里最好页面关键词优化
  • 清远建设网站制作seo系统培训课程
  • 网站的网页建设知识ppt北大青鸟职业技术学院简介
  • 巫山网站设计aso优化榜单
  • 关于节约化建设网站的表态发言网站制作报价表
  • 建行网站是多少呢故事式的软文广告例子
  • 阳江市住房和城乡规划建设局网站一级消防工程师考试
  • 做课件的网站有哪些用html制作淘宝网页
  • 网站开发前后台整个流程品牌宣传的推广
  • 深圳市门户网站建设网站推广优化方法
  • 中山公司注册网页怎么优化
  • 网站建设怎么分录2022年新闻摘抄简短
  • 江西景德镇建设厅网站太原关键词排名推广
  • 番禺做网站自媒体发布平台有哪些
  • 用dede做的网站首页电子商务网络营销
  • 最好的做任务赚钱网站网络域名怎么查
  • 建设部规范网站百度app关键词优化