/usr/bin/ld: cannot find crt1.o: No such file or directory就这一个错误,导致无法编译出可执行文件。

发布网友

我来回答

3个回答

热心网友

GCC当前的体系结构是位的,但是需要32位的支持文件,所以需要安装GCC-multilib。

终端输入命令如下:sudoaptinstallgcc-multilib。

程序编译成可执行的exe文件的方法:

1.编写一个简单的代码,如下图所示,然后编辑一个简单的output语句。

2.点击菜单栏,进行编译→编译→执行,确保正确执行。

3.从运行结果看程序是否正确,没有问题,然后找到exe可执行程序看是否有闪回现象。

4.保存C语言代码后,打开代码所在的文件夹。在这个文件夹中,有一个名为[Debug]的文件夹。

5.但是,当exe可执行程序运行时,会自动闪回,运行结果无法查看;此时,您需要在程序的末尾添加一个pause语句:getchar();然后重新运行C代码。

6.在[Debug]文件夹中第二次打开exe可执行程序,但是没有flash返回,可以清楚地看到程序的结果。

热心网友

crt1.o是libc里面的目标文件,因此这个文件不存在很可能是glibc的问题,所以首先需要做的确定你的glibc已经正确安装,并且装在正确的地方追问有一个临时的解决方案
我设置SHELL环境变量
export LIBRARY_PATH=/usr/lib/i386-linux-gnu

就好了,但每次都要设置一遍..有没有办法简化...

追答那你就把这行东西加到你的~/.bashrc里面:
echo "export LIBRARY_PATH=/usr/lib/i386-linux-gnu" >> ~/.bashrc
之后新开的终端就能够不用再设置这个东西的
如果想马上生效,就
source ~/.bashrc
应该就可以了。

热心网友

问题来源于当前架构的gcc是位,但需要32位支持文件,U因此需要安装gcc-multilib。终端输入命令如下:
sudo apt install gcc-multilib

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com