ubuntu雲服務器編譯過程中鏈接異常

無論gcc還是g++都顯示有以下段錯誤,無法成功鏈接

collect2: fatal error: ld terminated with signal 11 [Segmentation fault], core dumped
compilation terminated.

stackoverflow中找到一個Q&A解決。特此記錄
依次執行了以下命令後可以重新正常編譯鏈接。

  1. sudo apt purge binutils
  2. sudo apt remove make
  3. sudo apt autoremove
  4. 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出現問題?

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章