我实际上无法在C中编译简单的“ helloworld”。当我键入“ gcc hello.c”时,输出为: collect2:致命错误:ld终止于信号11 [分段故障]
有想法吗?
我尝试重新安装gcc,g ++,make,cmake,binutils。这些都不起作用。 当我在终端中仅输入“ ld”时,输出为: “分段错误”
答案 0 :(得分:1)
我可以解决
sudo apt清除binutils sudo apt删除make sudo apt自动删除 sudo apt install build-essential
我不知道为什么它可以与build-essential一起使用...
答案 1 :(得分:0)
您可能遇到了这个旧问题。 https://bugzilla.redhat.com/show_bug.cgi?id=1557346(自2018年3月起,以及binutils 2.25、2.27)。
更新您的binutils。
例如:
# yum groupinstall Development Tools
或
# apt-get install build-essential
并安装内核源代码
# apt-get install linux-headers-$(uname -r)
答案 2 :(得分:0)
您是否更新了任何图书馆? 我认为在这种情况下可能会缺少一些库。尝试执行以下操作:
which gcc
您将得到的输出为:
/usr/bin/gcc
然后使用:
检查库ldd /usr/bin/gcc
这将为您提供库及其共享库。检查所有内容是否可用。
还要检查gcc版本,以检查'gcc'二进制文件是否正常工作。
gcc --version