cannot find -lstdc++解决方案

时间:2021-02-06 09:34:12

今天在ubuntu12.10 64位下编译32位android 4.04源码时报错:


/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.5.4/libstdc++.so when searching for -lstdc++
/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.5.4/libstdc++.a when searching for -lstdc++
/usr/bin/ld: cannot find -lstdc++
/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.5.4/libgcc_s.so when searching for -lgcc_s
/usr/bin/ld: cannot find -lgcc_s
/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.5.4/libgcc.a when searching for -lgcc
/usr/bin/ld: cannot find -lgcc

因64位系统上只包含64位的库文件,未包含32位的库文件,而目标系统时32位的,故报错。

解决方法是,在同事的机器上复制

1. /usr/lib/gcc/x86_64-linux-gnu/4.5.4/32

2./usr/lig32

两个目录,到我的机器上,问题即解决。


复制时,要注意目录有链接文件时,可能会导致复制失败,此时可把目录打包再复制,例如:


tar -cvf lib32.tar.gz lib32