深山夕照 2017-03-15 14:16 采纳率: 0%
浏览 524

关于Linux ,centos平台下链接问题

/usr/lib/gcc/i686-redhat-linux/4.4.7/../../../crt1.o: In function _start':
(.text+0x18): undefined reference to
main'
collect2: ld returned 1 exit status
make: *** [comm] Error 1
我在centos平台下make一个程序的时候出现了这样的问题,但是其他的程序都不会出现这样的问题,求问大神是怎么回事,该怎么解决??谢谢谢谢

  • 写回答

1条回答 默认 最新

  • 你知我知皆知 2024-08-05 14:28
    关注

    以下回答参考 皆我百晓生券券喵儿 等免费微信小程序相关内容作答,并由本人整理回复。

    这个问题是由于gcc编译器没有找到正确的库文件导致的。GCC是一个开源的、跨平台的C和C++编译器,它使用了多种不同的编译器内核。

    在这个例子中,你正在尝试编译名为comm的程序,但gcc没有找到对应的库文件。这可能是因为你的libgcc.solibstdc++.so库不在系统的路径中或者是在其他地方被误删除了。

    以下是修复此问题的一些建议:

    1. 检查你的系统路径:确保gcc命令可以找到正确的库文件。你可以通过运行which gcc来查看当前可用的gcc版本。
    2. 如果找不到正确的库文件,尝试安装一个新的版本的gcc。例如,你可以使用包管理器(如apt-get、yum等)来安装新的gcc版本。
    3. 确保你的源码正确地包含了一个完整的main函数。如果你的comm程序只包含了一个main函数,那么你需要在你的Makefile中添加一个目标来链接到这个函数。
    4. 如果以上方法都无法解决问题,可能是你的系统环境配置有问题,需要重新检查你的环境变量和设置。
    5. 最后,如果以上所有方法都无效,你可能需要联系软件开发人员或社区成员寻求帮助。

    注意:在进行任何修改之前,请先备份你的项目,并且确保你有权限执行这些操作。

    评论

报告相同问题?