赞
踩
首先,先要掌握一件事。当你看到 "找不到 -lstdc++" 这样的错误,你应该知道,你正试图链接的程序可能需要某些库。"-lstdc++" 是gcc的标准C++库,clang++也需要它来完成一些基本的任务。不同的是,GCC会自动包含这个库,但是Clang++可能不会,这种情况下需要手动指定。
出现这个错误的原因可能是你的系统中缺少了相应的支持库,或者链接器没有找到这个库。那么,我们需要找到解决方案,确保你的系统中有这个库,并且链接器能够找到它。
第一步是终端输入如下命令,确定一个事实:你系统中是否已经有了这个库。
- sudo updatedb --prunepaths=/mnt
- locate libstdc++.so
如果这个库在其中某个路径出现,那么你的系统已经安装了它。但是链接器可能仍然找不到它,这就是问题所在。恭喜你,我们找到了问题的病灶!
那这个问题怎么解决呢?
联想一下我们日常生活中的场景,比如你要找电视遥控器,但是你忘了把遥控器放在了哪里。你会怎么做呢?一个有效的方法可能就是,找到遥控器之后,把它放在一个固定的地方,让你下次可以很快找到它。这里一样的道理,我们需要让链接器能在一个固定的地方找到这个库。
终端输入以下命令就可以告诉链接器在哪里可以找到这个库:
export LIBRARY_PATH=/path/to/your/library:$LIBRARY_PATH
请把 /path/to/your/library
替换为你刚才在首步找到的库的路径。
如果你的系统还没有这个库,那么我们就需要安装它。在Ubuntu系统中,你可以通过apt来安装它:
sudo apt install libstdc++6
一旦安装完成,链接器就该能找到这个库了。
以上就是解决 "找不到-lstdc++" 的两种可能方法。就像在乌鸦乌鸦的夜晚寻找那只独特的、拥有金色眼睛的乌鸦,其实它就在那里,而且总会被找到。祝你在代码的世界里,能找到你需要找到的一切。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。