大伙一定要警惕任何和c++相关的命令啊

前言

事情是这样的,我为了做某项目,打算dlib库实现人脸识别,运行代码的时候,出现了下面的报错。

image-jukA.png

遇到问题

有问题当然是复制完然后问ai了。

然后心跳时刻就开始了。

byd豆包让我输了这么一串命令:

sudo ln -sf /usr/lib/gcc/x86_64-pc-linux-gnu/12/libstdc++.so.6 /usr/lib/libstdc++.so.6

当然,我是不懂什么意思的。

但不妨碍我大胆复制。

然后,我就发现我的所有程序都打不开了,终端也打不开了。

重启后更新卡在了初始化界面。

第一次遇到这种问题,我哪见过这种阵仗,下意识得就像重装系统。

但是不行啊,调了一整天的桌面,总算是觉得顺眼了,刚写了一整天的项目git同步上去,不想功亏一篑啊。

解决

但是解铃还需系铃人。

最终还是byd豆包救下了我的电脑。

首先就在卡在的页面(一对绿色字符的初始化界面)按ctrl+alt+F2(不一定是F2,反正我的F2不行,但是F4可以)进入tty终端。

登录完成后,就可以发现pacman也不能用了😕

然后输入命令:

sudo ln -sf /usr/lib/gcc/x86_64-pc-linux-gnu/$(gcc -dumpversion)/libstdc++.so.6 /usr/lib/libstdc.so.6

把C++ 标准库给链接回去。

至此就解决问题了,reboot一下,东西有都回来了。

为什么会这样

首先, libstdc++.so.6这玩意是C++ 标准库,什么Wayland,pacman都基于这玩意。

先前byd豆包让我创的那个软链接,相当于换了我的C++环境。

但是byd豆包,我压根就没有 /usr/lib/gcc/x86_64-pc-linux-gnu/12/这么一个路径。

也就是没有C++环境了。

主线任务

既然电脑的问题解决了,但是主线还没解决,dlib依然不可用。

既然我都用conda了,为什么要改自己电脑的环境。

先把dlib卸了

pip uninstall dlib

然后重装dlib罢

conda install -c conda-forge dlib

conda还是好啊