【踩坑】/usr/bin/ld: cannot find -lstdc++: No such file or directory

发布时间 2023-10-25 15:08:20作者: bakabird1998

环境:win10 中的 wsl2 的 Ubuntu
image


1. 报错 /usr/bin/ld: cannot find -lstdc++: No such file or directory

通过 sudo apt-get install libstdc++6 解决。


2. 安装完之后依旧还是报一样的错

参考资料

通过 gcc -lstdc++ --verbose 检查。
输出了一大堆东西,但在末尾还是有 /usr/bin/ld: cannot find -lstdc++: No such file or directory


然后通过 sudo ldconfig 检查,报以下错误:

/sbin/ldconfig.real: Can't link /usr/lib/wsl/lib/libnvoptix_loader.so.1 to libnvoptix.so.1
/sbin/ldconfig.real: /usr/lib/wsl/lib/libcuda.so.1 is not a symbolic link

3. 处理 sudo ldconfig 报错 libcuda.so.1 is not a symbolic link

参考资料

cd /usr/lib/wsl
sudo mkdir lib2
sudo ln -s lib/* lib2

更改wsl配置文件

sudo vim /etc/ld.so.conf.d/ld.wsl.conf

将 /usr/lib/wsl/lib 改为 /usr/lib/wsl/lib2

测试修改是否生效

sudo ldconfig

永久修改

sudo cat >> /etc/wsl.conf << EOF
[automount]
ldconfig = fasle
EOF
  1. 通过 gcc -lhdf5 --verbose 检查。

打印出来的内容应该就不再有 cannot find -lstdc++: No such file or directory