/usr/bin/ld: no such file
时间: 2023-12-08 17:39:03 浏览: 273
当在Ubuntu18.04下编译时出现"/usr/bin/ld: cannot find crt1.o: No such file or directory /usr/bin/ld: cannot find crti.o: No such file or directory /usr/bin/ld: cannot find -lgcc_s"的错误时,这意味着缺少一些必要的库文件。其中crt1.o和crti.o是C语言运行时库文件,而-lgcc_s是GCC的静态库文件。解决方法如下:
1.安装缺少的库文件
```shell
sudo apt-get install libc6-dev-i386
sudo apt-get install gcc-multilib g++-multilib
```
2.查找缺少的库文件
```shell
find /usr/ -name crt1.o
find /usr/ -name crti.o
find /usr/ -name libgcc_s.a
```
3.将缺少的库文件链接到/usr/lib目录下
```shell
sudo ln -s /usr/lib/x86_64-linux-gnu/crt1.o /usr/lib/
sudo ln -s /usr/lib/x86_64-linux-gnu/crti.o /usr/lib/
sudo ln -s /usr/lib/gcc/x86_64-linux-gnu/7/libgcc_s.so /usr/lib/
```
相关问题
/usr/local/bin/ld: cannot find -lunistring: No such file or directory /usr/local/bin/ld: cannot find -lp11-kit: No such file or directory
这个错误发生是因为链接器(ld)无法找到所需的库文件`libunistring`和`libp11-kit`。在编译或链接过程中,如果指定了这些库文件但链接器无法找到它们,就会出现类似的错误消息。
解决此问题的方法是确保这两个库文件已经安装在系统中。您可以尝试使用包管理工具(如apt、yum、brew等)来安装这些库文件,具体命令可能因您使用的操作系统而异。
例如,在Ubuntu上,您可以运行以下命令来安装这些库文件:
```
sudo apt-get install libunistring-dev
sudo apt-get install libp11-kit-dev
```
如果您使用的是其他操作系统,请查找相应的安装命令。安装完成后,重新尝试编译或链接过程,应该就不会再出现找不到库文件的错误了。
/usr/bin/ld: cannot find crt1.o: No such file or directory /usr/bin/ld: cannot find crti.o: No such file or directory
回答: 出现"/usr/bin/ld: cannot find crt1.o: No such file or directory /usr/bin/ld: cannot find crti.o: No such file or directory"的错误通常是由于缺少必要的系统库文件引起的。这些库文件是编译器链接程序所需的文件。解决这个问题的方法是安装缺失的库文件。你可以尝试使用以下命令来安装缺失的库文件:
sudo apt-get install libc6-dev
sudo apt-get install gcc
这些命令将会安装所需的库文件,以便编译器能够找到并链接它们。希望这能帮助你解决问题。[1][2][3]
阅读全文