小编典典

如何在Ubuntu中更改默认的GCC编译器?

linux

我已经在已经具有gcc / g -4.4的ubuntu 11.04上安装了gcc-3.3 / g
-3.3。所以在我的系统中gcc-3.3和4.4都可用。我可以根据需要调用两个编译器。如果我只是调用命令,gcc那么将调用gcc-4.4。要调用gcc-3.3,我必须使用命令gcc-3.3

如何将默认编译器更改为gcc-3.3?当我执行命令时,gcc它应该调用gcc-3.3而不是gcc-4.4。

另外,如何将make文件中的变量CXX更改为gcc-3.3?我希望更改系统中的一个通用全局位置,而不是更改所有make文件。


阅读 762

收藏
2020-06-02

共1个答案

小编典典

如@Tommy所建议,您应该使用update-alternatives
它为系列的每个软件分配值,以便定义应用程序的调用顺序。

它用于维护系统上同一软件的不同版本。在您的情况下,您将可以使用的多个偏角gcc,并且会偏爱一个。

要找出gcc的当前优先级,请键入@tripleee的注释指出的命令:

update-alternatives --query gcc

现在,请注意归因于的优先级,gcc-4.4因为您需要给赋予更高的优先级gcc-3.3
要设置替代方案,您应该有类似以下内容 (假设您的gcc安装位于/usr/bin/gcc-3.3,并且gcc-4.4优先级小于50)

update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-3.3 50

- 编辑 -

最后,您还可以使用的交互界面update-alternatives在版本之间轻松切换。键入update-alternatives --config gcc要求您选择的gcc版本,以供安装。

-编辑2-

现在,要在系统范围内修复CXX环境变​​量,您需要在.bashrc文件中放入@DipSwitch指示的行(这将仅对您的用户应用更改,我认为这更安全):

echo 'export CXX=/usr/bin/gcc-3.3' >> ~/.bashrc
2020-06-02