如何解决链接器错误 "cannot find crt1.o"?

178

我有一个用来进行开发的 Debian 虚拟系统。今天我想尝试 llvm/clang。安装 clang 后,我无法使用 gcc 编译我的旧 c 项目。

这是错误信息:

/usr/bin/ld: cannot find crt1.o: No such file or directory
/usr/bin/ld: cannot find crti.o: No such file or directory
collect2: ld returned 1 exit status

我已经卸载了clang,但仍然无法工作。是否有人有任何想法如何解决这个问题?


7
尝试安装libc0.1-dev - Michas
1
对于Mac,请参见:https://dev59.com/6nM_5IYBdhLWcg3wdy_z#16102800 - kenorb
可能是Missing crt1 and crti when crosscompiling的重复问题。 - user2284570
这是在Launchpad上报告的一个BUG,但有一个解决方法: http://askubuntu.com/questions/251978/cannot-find-crti-o-no-such-file-or-directory - Roman
21个回答

-4
在我的情况下 Ubuntu 16.04 ,我根本没有 crti.o

$ find /usr/ -name crti*

所以我安装了开发者libc6-dev软件包:

sudo apt-get install libc6-dev

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接