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

原创 2015年11月19日 14:40:33

在使用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.6libstdc++.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最新版安装及错误解决

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

在网站上上运行 /usr/apktool/aapt d badging /temp/2014/12/02/17/547d812953368677.apk error while loading...
  • llnara
  • llnara
  • 2014年12月03日 17:01
  • 6242

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

Problem1: /opt/FriendlyARM/toolschain/4.4.3/libexec/gcc/arm-none-linux-gnueabi/4.4.3/cc1: error whil...
  • maplblue
  • maplblue
  • 2015年01月12日 00:21
  • 5516

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

安装cmake的时候,./bootstrap这一步走不通,说是缺乏c++编译器,打开指定的log日志后,发现根源在于libstdc++.so.6找不到的问题,在网上搜了很多方法,出现问题的原因有以下几...
  • chrissata
  • chrissata
  • 2012年08月28日 15:47
  • 1389

linux gcc 编译的so文件 运行时无法找到 错误:cannot open shared object file: No such file or directory

gcc 编译的so文件
  • zhangla1220
  • zhangla1220
  • 2016年02月25日 16:26
  • 7685

mongodb 安装错误error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No

error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file o...
  • wwwyuanliang10000
  • wwwyuanliang10000
  • 2014年08月18日 15:18
  • 10771

libc.so.6: cannot open shared object file: No such file or diretory 问题解决

由于操作失误,把libc.so.6更名为libc.so.6.bak ls: error while loading shared libraries: libc.so.6: cannot open ...
  • lepton126
  • lepton126
  • 2017年06月23日 19:19
  • 910

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

使用arm编译c程序时,显示[root@localhost Downloads]# arm-linux-gcc -o test test.c /usr/local/arm/4.4.3/bin/../l...
  • sdd220
  • sdd220
  • 2017年11月13日 14:52
  • 78

oracle安装报错:libXp.so.6: cannot open shared object file: No such file or directory

安装oracle时候遇到错误 Preparing to launch Oracle Universal Installer from /tmp/OraInstall2011-11-03_12-53-...
  • zhrzhl
  • zhrzhl
  • 2013年10月28日 12:31
  • 6861

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

在64位的linux(centos系统)中安装android-sdk后,运行aapt命令,出现 error while loading shared libraries: libstdc++.so....
  • wzg_1981
  • wzg_1981
  • 2013年10月12日 10:22
  • 9639

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

1.下载安装包:   http://free.nchc.org.tw/ubuntu//pool/universe/g/gcc-3.3/libstdc++5_3.3.6-25ubuntu4_i386....
  • wjl_hdu
  • wjl_hdu
  • 2013年06月26日 11:32
  • 2855
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:关于错误 libstdc++.so.6:cannot open shared object file 和 libstdc++.so.6: wrong ELF class 的解决和思考
举报原因:
原因补充:

(最多只允许输入30个字)