如何安装新版本的 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- 不建议这样做。

相关内容