如何安裝新版本的GCC並使其成為預設版本?

如何安裝新版本的GCC並使其成為預設版本?

我在我的 Linux (Ubuntu) 機器上建置並安裝了新版本,gcc並將其安裝在/opt/gcc-10.2.0.

然後我曾經update-alternatives將其設為預設gcc/ g++

然而,它可以工作,用新版本建立的程式gcc仍然連結到舊版本libstdc++/usr/lib/x86_64-linux-gnu而不是 中找到的版本/opt/gcc-10.2.0/lib64

如果系統libstdc++使用 C++11 之前的 ABI,則會出現問題,因為這會導致應用程式在啟動期間崩潰。

有沒有辦法安裝較新版本的 GCC 並使其成為用戶的“預設編譯器”,並確保用它構建的程式將連結到與該編譯器捆綁的libstc++(和libgcc)?

我問這個問題是因為我想建立一個使用最新 GCC 版本的建置伺服器。

答案1

  • 這實際上很好,因為您編譯的程式變得更加可移植。
  • 您可以嘗試新增-L/opt/gcc-10.2.0/lib64到您的編譯標誌。
  • 你可以sudo mkdir /usr/lib64/save; sudo mv -iv /usr/lib64/libstdc++* /usr/lib64/save- 不建議這樣做。

相關內容