/usr/bin/ld: 找不到 -lstdc
时间: 2023-12-29 12:05:35 浏览: 206
以下是两种解决方法:
1. 创建软链接解决找不到-lstdc的问题
```shell
sudo ln -s /usr/local/ahuasdk/libXXX.so /usr/lib/libXXX.so
```
2. 创建软链接解决找不到-lstdc的问题
```shell
sudo ln -s /usr/local/cuda/lib64/libcudart.so /usr/lib/libcudart.so
```
相关问题
/usr/bin/ld: 找不到 -lstdc++fsc++: 没有那个文件或目录 /usr/bin/ld: 找不到 -lstdc++fsc++: 没有那个文件或目录
这个错误通常是由于缺少libstdc++库文件引起的。可以尝试安装libstdc++库文件来解决这个问题。具体操作如下:
1.使用以下命令安装libstdc++库文件:
```shell
sudo apt-get install libstdc++6
```
2.如果已经安装了libstdc++库文件,可以尝试重新安装它:
```shell
sudo apt-get --reinstall install libstdc++6
```
3.如果以上方法都无法解决问题,可以尝试手动安装libstdc++库文件:
```shell
sudo apt-get install build-essential
wget ftp://ftp.gnu.org/gnu/gcc/gcc-10.2.0/gcc-10.2.0.tar.gz
tar -zxvf gcc-10.2.0.tar.gz
cd gcc-10.2.0
./contrib/download_prerequisites
mkdir build
cd build
../configure --prefix=/usr/local/gcc-10.2.0 --enable-checking=release --enable-languages=c,c++ --disable-multilib
make
sudo make install
```
4.如果手动安装后仍然无法解决问题,可以尝试将libstdc++库文件路径添加到LD_LIBRARY_PATH环境变量中:
```shell
export LD_LIBRARY_PATH=/usr/local/gcc-10.2.0/lib64:$LD_LIBRARY_PATH
```
/opt/rh/devtoolset-11/root/usr/bin/ld: 找不到 -lstdc++
在编译过程中,出现"/opt/rh/devtoolset-11/root/usr/bin/ld: 找不到 -lstdc++"的错误,这是因为编译器无法找到libstdc++库。你可以尝试以下解决方案来解决这个问题[^1]:
1. 检查库文件路径:确认libstdc++库文件是否存在于指定路径中。你可以使用以下命令检查库文件是否存在:
```shell
ls /opt/rh/devtoolset-11/root/usr/lib64/libstdc++.so
```
如果库文件存在,你可以继续下一步解决方案。如果库文件不存在,你需要安装libstdc++库。
2. 创建软链接:如果库文件存在于其他路径中,你可以创建一个软链接将其链接到编译器期望的路径。你可以使用以下命令创建软链接:
```shell
ln -s <link_path> <source_path>
```
其中,`<link_path>`是库文件的实际路径,`<source_path>`是编译器期望的路径。例如,你可以使用以下命令创建软链接:
```shell
ln -s /opt/rh/devtoolset-11/root/usr/lib64/libstdc++.so /usr/lib/gcc/x86_64-redhat-linux/4.8.2/libstdc++.so
```
这将创建一个名为libstdc++.so的软链接,将库文件链接到编译器期望的路径。
请注意,以上解决方案假设你已经安装了libstdc++库,并且库文件存在于指定路径中。如果库文件不存在,你需要安装libstdc++库。
阅读全文