/usr/bin/ld: cannot find -lgcc_s collect2: ld returned 1 exit status
时间: 2023-12-13 08:33:26 浏览: 231
这个错误通常是由于缺少gcc支持库导致的。您可以尝试以下解决方法:
1.安装gcc支持库
```shell
sudo apt-get install gcc-multilib
```
2.检查gcc版本
```shell
gcc --version
```
确保您的gcc版本与您正在编译的软件兼容。
3.检查库路径
您可以使用以下命令检查库路径是否正确:
```shell
ldconfig -p | grep libgcc
```
如果找不到库,请尝试将库路径添加到LD_LIBRARY_PATH环境变量中:
```shell
export LD_LIBRARY_PATH=/path/to/libgcc:$LD_LIBRARY_PATH
```
相关问题
gcc -Wall -O2 -m32 driver.o kernels.o fcyc.o clock.o -lm -o driver /usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-redhat-linux/4.8.5/libgcc_s.so when searching for -lgcc_s /usr/bin/ld: cannot find -lgcc_s collect2: error: ld returned 1 exit status
这个错误通常是因为你在编译32位程序时使用了64位的库文件,可以尝试使用以下命令来编译:
gcc -Wall -O2 -m32 driver.o kernels.o fcyc.o clock.o -L/usr/lib/gcc/x86_64-redhat-linux/4.8.5/32 -lgcc_s -lm -o driver
其中-L选项指定了库文件的搜索路径,-lgcc_s指定了需要链接的库文件。
/usr/bin/ld: cannot find -lboost_system collect2: error: ld returned 1 exit status
这个错误通常是由于缺少相关的库文件或者库文件路径不正确导致的。其中`/usr/bin/ld: cannot find -lboost_system`表示缺少名为`libboost_system`的库文件。`collect2: error: ld returned 1 exit status`表示链接器`ld`返回了错误码1,即链接失败。
解决这个问题的方法是需要安装缺失的库文件或者将库文件路径添加到链接器的搜索路径中。具体方法如下:
1.安装缺失的库文件。以`libboost_system`为例,可以使用以下命令安装:
```shell
sudo apt-get install libboost-system-dev
```
2.将库文件路径添加到链接器的搜索路径中。以`libboost_system`为例,可以使用以下命令将`/usr/lib/x86_64-linux-gnu/`路径添加到链接器的搜索路径中:
```shell
export LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/:$LD_LIBRARY_PATH
```
如果以上方法无法解决问题,可以尝试查看相关的日志文件,以获取更多的信息。
阅读全文