/usr/bin/ld: cannot find crt1.o: No such file or directory就这一个错误,导致无法编译出可执行文件。
如题。Linux系统glibc-devel最新版本使用gcc4.5gcc4.6gcc4.7.0gcc4.7.1gcc4.8.0测试版均无法编译C源文件生成可执行ELF文件...
如题。Linux系统
glibc-devel 最新版本
使用gcc4.5 gcc4.6 gcc4.7.0 gcc4.7.1 gcc4.8.0测试版均无法编译C源文件生成可执行ELF文件(但可生成中间文件),这个问题是莫名奇妙出现的(就今天才出现...),在之前都是正常的(编译gcc4.8时都好的)。 展开
glibc-devel 最新版本
使用gcc4.5 gcc4.6 gcc4.7.0 gcc4.7.1 gcc4.8.0测试版均无法编译C源文件生成可执行ELF文件(但可生成中间文件),这个问题是莫名奇妙出现的(就今天才出现...),在之前都是正常的(编译gcc4.8时都好的)。 展开
3个回答
展开全部
GCC当前的体系结构是64位的,但是需要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
应该就可以了。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2019-04-21
展开全部
问题来源于当前架构的gcc是64位,但需要32位支持文件,U因此需要安装gcc-multilib。终端输入命令如下:
sudo apt install gcc-multilib
sudo apt install gcc-multilib
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询