ubuntu编译过程中链接异(gcc g++ 无法编译)
无论gcc还是g++都显示有以下段错误,无法成功链接
collect2: fatal error: ld terminated with signal 11 [Segmentation fault], core dumped
compilation terminated.
在stackoverflow中找到一个Q&A解决。特此记录
依次执行了以下命令后可以重新正常编译链接。
sudo apt purge binutils
sudo apt remove make
sudo apt autoremove
sudo apt install build-essential
也就是说他把binutils卸载了,然后重装了build-essential
binutils提供了一系列用来创建、管理和维护二进制目标文件的工具程序,如汇编(as)、连接(ld)、静态库归档(ar)、反汇编(objdump)、elf结构分析工具(readelf)、无效调试信息和符号的工具(strip)等。通常,binutils与gcc是紧密相集成的,没有binutils的话,gcc是不能正常工作的。
build-essential是Ubuntu提供的一个软件包, 安装了该软件包,编译c/c++所需要的软件包也都会被安装。
所以猜测是binutils出现问题?
转自:
https://blog.csdn.net/weixin_36888577/article/details/106282450?utm_medium=distribute.pc_relevant_download.none-task-blog-baidujs-1.nonecase&depth_1-utm_source=distribute.pc_relevant_download.none-task-blog-baidujs-1.nonecase