关于错误 libstdc++.so.6:cannot open shared object file 和 libstdc++.so.6: wrong ELF class 的解决和思考

解决Cadence Virtuoso启动报错libreadline.so.5缺失的完整指南 在Linux环境下运行工业软件时,共享库依赖冲突是常见的技术挑战,尤其体现在动态链接库版本不匹配问题上。其原理在于,软件编译时链接了特定版本的共享库(如libreadline.so.5),而现代操作系统默认提供更新的库版本(如libreadline.so.8),导致程序因找不到指定版本而无法启动。这类问题的技术价值在于,它揭示了在快速迭代的开源系统与追求长期稳定的工业软件之间搭建兼容性桥梁的重要性。通过创建符号链接、管理LD_LIBRARY_PATH环境变量等工程实践,可以为软件构建一个兼容的运行环境,确保 阅读详情

在使用gcc编译C++程序时,运行出错:

# g++ -std=c++11 -o117exercise.exe 117exercise.cpp

# ./ 117exercise.exe

./117exercise.exe: error while loadingshared libraries: libstdc++.so.6:cannot open shared object file:No suchfile or directory

 

提示没有libstdc++.so.6,参考“解决/usr/lib/libstdc++.so.6:version `GLIBCXX_3.4.14' not found问题”,安装完之后,再次运行C++程序,还是出错:

# ./ 117exercise.exe

./117exercise.exe: error while loadingshared libraries: libstdc++.so.6: wrong ELF class: ELFCLASS32

这次是提示我虽然安装了,但是用错了32位的共享库libstdc++.so.6;

参照Howto fix the error “libstdc++.so.6: wrong ELF class: ELFCLASS64” after installedGCC 4.6,该参考与其它解决方案不同的地方在于,它的libstdc++.so.6.0.16提示是说在已经安装好的gcc目录,而不是从网上再次下载安装;

 

我在我手动安装的gcc 4.8.2目录下找到分享库文件:

# find / -iname libstdc++.so.6.0.*,

找到/home/zhm/softwares/gcc/gcc-4.8.2/lib64/libstdc++.so.6.0.18,即我的分享库为libstdc++.so.6.0.18,不同于网上说的16或17,按照步骤:

(1)      将gcc安装目录下的libstdc++.so.6.0.18拷贝到/usr/lib64(注意参考链接里面是32位,而我提示的是wrong ELF class: ELFCLASS32,即正确的应该是64位,可以参考下面的附注)

(2)       在/usr/lib64目录建立软链接libstdc++.so.6、libstdc++.so

(3)      再次运行程序,成功

 

 

附注:

安装libstdc++.so.6.0.17过程的两点思考:

# ln -s/usr/lib/libstdc++.so.6.0.17 /usr/lib/libstdc++.so.6

# ./117exercise.exe

./117exercise.exe: error while loadingshared libraries: libstdc++.so.6: cannotopen shared object file: No such file or directory

         ——我的gcc 4.8.2是手动安装的,所以可能导致/usr/lib64下没有更新libstdc++.so.6的软链接。

 

# ln -s/usr/lib64/libstdc++.so.6.0.17 /usr/lib64/libstdc++.so.6

# ./117exercise.exe

./117exercise.exe: error while loadingshared libraries: libstdc++.so.6: wrongELF class: ELFCLASS32

         ——两种链接,两个不同结果(在/usr/lib下建立软链接提示说找不到,在/usr/lib64下建立软链接提示说库不对——不对的意思就是libstdc++.so.6.0.17不对,已经安装完的对应gcc 4.8.2的libstdc++.so.6.0.18才对),可以断定我的库版本应该为64位。


另外,GCC 4.8.2版本安装可以参考:GCC最新版安装及错误解决

snpslmd: error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No su 安装VCS lmg_vcs的时候遇到错误: snpslmd: error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory 报错原因:缺少libstdc++.so.6运行库 解决方案:安装libstdc++.so.6运行库 解决方法 sudo apt-get install lib32stdc++6 sudo apt-get install l 阅读详情

相关推荐

OSError: libstdc++.so.6: cannot open shared object file: No such file or directory以及相关问题解决攻略

OSError: libstdc++.so.6: cannot open shared object file: No such file or directory以及相关问题解决方案

qq_39568387的博客 1765

libstdc++.so.6: cannot open shared object file: No such file or directory问题的解决

在Linux系统上执行生成PDF文件命令时,系统报了下面的错误: error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory 究其原因就是在64位系统安装32位软件,需要有32位库。那么来查看哪个安装包下有这个库: yum w...

shenxiaomo1688的博客 1万+

libstdc++.so.6

libstdc++.so.6.0.10 libstdc++.so.6.0.10

libstdc++.so.6: cannot open shared object file: No such file or directory

找不到libstdc++.so.6的原因,大致有以下几种: 1.程序中没有编入路径,使用rpath指定路径,在Makefile中加入如下路径: OBJS=*.o ODIR=obj LDFLAGS=-Wl,-rpath=/lib $(ROOT_DIR)/$(BIN_DIR)/$(BIN):$(ROOT_DIR)/$(OBJS_DIR)/$(OBJS) $(CC) $^ -o $@ $(LDFLAGS) 其中/lib为库的路径。 2.由于环境变量的原因,或者是32位或者64位的兼容原因,确实...

ComputerInBook的专栏 1万+

windchill安装搭建(保姆式)

保姆式搭建windchill 材料准备 Vmware工具,用来创建和打开虚拟机的工具 安装系统的镜像文件 数据库安装文件,这里是Oracle数据库 Windchill的安装包 Vmware工具,用来安装和打开虚拟机的软件 Windowsserver2008的镜像工具,用来安装虚拟机环境的系统,如果你有win2007或win2010的也可以,在做虚拟机时,需要先安装系统。 Oracle数据库安装包 Windchill11M030的安装包 (安装包如有需要可以私信邮箱发送) 虚拟机安装 安装虚拟机VMware

tr1294937662的博客 6217

别再凭感觉估算!用ADS的EBOND库精确仿真Bonding线寄生电感(附完整参数设置指南)

本文详细介绍了在ADS中使用EBOND库精确仿真Bonding线寄生电感的方法,帮助射频工程师在毫米波频段实现高精度建模。通过三维物理参数和电磁场求解算法,EBOND模型能将误差控制在5%以内,显著提升电路性能。文章还提供了完整的参数设置指南和实战操作步骤,适用于5G毫米波前端模块等高频应用场景。

weixin_28730131的博客 506

Linux系统下OpenCV导入libGL.so.1缺失问题的全面解决方案

动态链接库是Linux系统中实现代码共享的核心机制,它允许程序在运行时加载预编译的二进制模块。当Python程序导入OpenCV等包含C++扩展的库时,系统动态链接器会按照预设路径查找所需的共享库文件。这一机制确保了软件依赖管理的效率与灵活性,在计算机视觉和图像处理领域尤为重要。OpenCV作为跨平台的计算机视觉库,其Python接口依赖于底层的图形库支持,即使在不涉及图形显示的后端处理中也可能需要基础图形接口。在Linux服务器或最小化桌面环境中,常见的libGL.so.1缺失错误正是由于系统缺少Open

weixin_30780649的博客 380

(最新更新!)2024全国大学生数学建模竞赛(国赛)B题决策优化+鲁棒模型完整建模全解全析

2024全国大学生数学建模竞赛(国赛)B题完整建模全解全析(已更新!)

Yilu264的博客 9417

libstdc++.so.6: cannot open shared object file: No such file or directory的问题

安装cmake的时候,./bootstrap这一步走不通,说是缺乏c++编译器,打开指定的log日志后,发现根源在于libstdc++.so.6找不到的问题,在网上搜了很多方法,出现问题的原因有以下几种: 1./usr/lib下面没有libstc++.so.6 这个通过安装软件包,然后建立软链接即可。 2./usr/lib 与/usr/local/lib 或/usr/lib64 下有不同版本的

一壁蔷薇枝 6262

Ansys Zemax实战:5步搞定多模光纤耦合效率优化(附IMAE操作数详解)

本文详细介绍了使用Ansys Zemax优化多模光纤耦合效率的5个关键步骤,包括几何图像分析设置、IMAE操作数应用及偏振效应处理。通过实战案例解析,帮助工程师快速掌握光纤耦合效率提升技巧,特别针对IMAE操作数的配置保存机制和菲涅尔损耗控制进行深度讲解。

potato的博客 690

从空调温控到信号降噪:一阶RC低通滤波器在Arduino和STM32上的C语言实现指南

本文详细介绍了如何在Arduino和STM32平台上使用C语言实现一阶RC低通滤波器,涵盖从基础理论到实际应用的完整流程。通过具体代码示例和优化技巧,帮助开发者有效处理传感器噪声、信号平滑等问题,提升嵌入式系统的信号处理能力。

weixin_30565199的博客 501

error while loading shared libraries: libstdc++.so.6: wrong ELF class: ELFCLASS32

建立软连接shipeng@shipeng-HP:~$ cd /usr/lib/x86_64-linux-gnu/  shipeng@shipeng-HP:/usr/lib/x86_64-linux-gnu$ sudo rm -rf libstdc++.so.6 shipeng@shipeng-HP:/usr/lib/x86_64-linux-gnu$ sudo ln -s libstdc++

camille靖的博客 7528

海康视觉算法平台VisionMaster 4.3.0 C# 二次开发01 加载方案并获取结果

第一次使用海康视觉算法平台VisionMaster 4.3.0,项目中要使用这个平台进行视觉处理并获取结果。

StevenChen的博客 7874

【爬坑记录】error while loading shared libraries: libstdc++.so.6: wrong ELF class: ELFCLASS64

爬坑记录2:error while loading shared libraries: libstdc++.so.6: wrong ELF class: ELFCLASS64 CMake Error at ***/Downloads/cmake/share/cmake-3.12/Modules/CMakeTestCCompiler.cmake:52 (message): The C compi...

Binbin_Sun的博客 4527

化工过程设计软件:Aspen Plus二次开发_(2).二次开发概述

假设我们需要创建一个自定义的换热器模型,该模型能够计算两个物流之间的热交换量,并根据传热系数和换热面积进行调整。ACM 模型代码示例!自定义换热器模型!参数:传热系数 U (W/m^2·K)!换热面积 A (m^2)!热物流 T_hot_in (K), T_hot_out (K), F_hot (kmol/h)!冷物流 T_cold_in (K), T_cold_out (K), F_cold (kmol/h)!模型输入!U - 传热系数!A - 换热面积!

kkchenjj的博客 370

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

解决docker下, libstdc++.so.6: cannot open shared object file: No such file or directory问题

解决docker下, libstdc++.so.6: cannot open shared object file: No such file or directory问题

yanguan025的博客 1930

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

libstdc++.so.6: cannot open shared object file: Permission denied

vi etc/sysconfig/selinux,将selinux设置为disable就可以了。临时修改方案,重启后会恢复。

liuzhiminxx的博客 2801

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

linux 安装node出现 libstdc++.so.6: wrong ELF class

安装node的时候遇到报错,libstdc++.so.6: wrong ELF class,说明此时的lib文件是32位的,不是64位, libstdc++.so.6.0.14(17)64位版本库下载 下载地址: libstdc++.so.6.0.172016.5.25 – 301.04 Kb 使用方法: 放到对应目录下面 mv libstdc++.so.6.0.17 /usr/...

qingfengxd1的博客 2332

32位编译程序在64位操作系统下运行报error while loading shared libraries: libstdc++.so.6: wrong ELF class: ELFCLASS64

问题描述:32位编译程序在64位操作系统下运行报error while loading shared libraries: libstdc++.so.6: wrong ELF class: ELFCLASS64 问题分析:用ldd命令查看执行程序

2569

安装mysql8,启动mysql服务日志 libstdc++.so.6: wrong ELF class: ELFCLASS32

libstdc++.so.6: wrong ELF class: ELFCLASS32

weixin_41632551的博客 627

error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such fill

解决缺少libstdc++.so.6库的原因及解决办法 error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory 1.1先加载所有安装包 yum repolist 1.2查看哪个安装包包含该库: yum provides libstdc++.so.6 输出可以看到: 可以看到安装包libstdc+±4.8.5-39.el7.i686 1..

zhangyingna667的博客 1万+

错误:libstdc++.so.6: wrong ELF class

1.安装mysql的时候报错缺少GLIBCXX_3.4.15 2.按照网上的下载了libstdc++.so.6.0.17 放到/usr/lib64 下 删除之前的libstdc++.so.6的链接 重新建立链接 ln -slibstdc++.so.6.0.17libstdc++.so.6 3.strings libstdc++.so.6|grep GLI 4.再直接启动m...

weixin_30379531的博客 889
上一篇: C++中局部静态变量的调用问题
下一篇: Mesos框架简介
heming621
博客等级 码龄15年 9粉丝 15原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值