/usr/lib/gcc/i686-redhat-linux/4.4.7/../../../crt1.o: In function _start':main'
(.text+0x18): undefined reference to
collect2: ld returned 1 exit status
make: *** [comm] Error 1
我在centos平台下make一个程序的时候出现了这样的问题,但是其他的程序都不会出现这样的问题,求问大神是怎么回事,该怎么解决??谢谢谢谢
关于Linux ,centos平台下链接问题
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
1条回答 默认 最新
你知我知皆知 2024-08-05 14:28关注以下回答参考 皆我百晓生、券券喵儿 等免费微信小程序相关内容作答,并由本人整理回复。
这个问题是由于gcc编译器没有找到正确的库文件导致的。GCC是一个开源的、跨平台的C和C++编译器,它使用了多种不同的编译器内核。
在这个例子中,你正在尝试编译名为
comm的程序,但gcc没有找到对应的库文件。这可能是因为你的libgcc.so或libstdc++.so库不在系统的路径中或者是在其他地方被误删除了。以下是修复此问题的一些建议:
- 检查你的系统路径:确保
gcc命令可以找到正确的库文件。你可以通过运行which gcc来查看当前可用的gcc版本。 - 如果找不到正确的库文件,尝试安装一个新的版本的gcc。例如,你可以使用包管理器(如apt-get、yum等)来安装新的gcc版本。
- 确保你的源码正确地包含了一个完整的
main函数。如果你的comm程序只包含了一个main函数,那么你需要在你的Makefile中添加一个目标来链接到这个函数。 - 如果以上方法都无法解决问题,可能是你的系统环境配置有问题,需要重新检查你的环境变量和设置。
- 最后,如果以上所有方法都无效,你可能需要联系软件开发人员或社区成员寻求帮助。
注意:在进行任何修改之前,请先备份你的项目,并且确保你有权限执行这些操作。
解决 无用评论 打赏 举报- 检查你的系统路径:确保