首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在Ubuntu中更改默认的GCC编译器?

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

Stack Overflow用户
提问于 2011-10-20 16:09:36
回答 4查看 280.7K关注 0票数 106

我已经在ubuntu 11.04上安装了gcc-3.3/g++-3.3,里面已经有了gcc/g++-4.4。所以在我的系统中,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文件。

EN

回答 4

Stack Overflow用户

发布于 2012-02-02 05:01:00

下面是jHackTheRipper对TL;DR crowd的回答的完整示例。:-)在这种情况下,我想在默认为4.6的Ubuntu系统上运行g++-4.5。作为root

apt-get install g++-4.5
update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.6 100
update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.5 50
update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.6 100
update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.5 50
update-alternatives --install /usr/bin/cpp cpp-bin /usr/bin/cpp-4.6 100
update-alternatives --install /usr/bin/cpp cpp-bin /usr/bin/cpp-4.5 50
update-alternatives --set g++ /usr/bin/g++-4.5
update-alternatives --set gcc /usr/bin/gcc-4.5
update-alternatives --set cpp-bin /usr/bin/cpp-4.5

在这里,4.6仍然是默认的(也就是“自动模式”),但我显式地暂时切换到4.5 (手动模式)。要返回到4.6:

update-alternatives --auto g++
update-alternatives --auto gcc
update-alternatives --auto cpp-bin

(请注意,使用cpp-bin而不仅仅是cpp。Ubuntu已经有了一个主链接为/lib/cppcpp替代品。重命名该链接将删除/lib/cpp链接,这可能会破坏脚本。)

票数 71
EN

Stack Overflow用户

发布于 2014-03-13 07:13:18

This is the great description和分步说明如何创建和管理主备(gcc和g++)备选方案。

简而言之就是:

sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.6 60 --slave /usr/bin/g++ g++ /usr/bin/g++-4.6
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.7 40 --slave /usr/bin/g++ g++ /usr/bin/g++-4.7
sudo update-alternatives --config gcc
票数 26
EN

Stack Overflow用户

发布于 2017-05-27 22:02:17

在4.8到6之间,使用所有--slaves

update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 \
                    10 \
                    --slave   /usr/bin/cc cc /usr/bin/gcc-4.8 \
                    --slave   /usr/bin/c++ c++ /usr/bin/g++-4.8 \
                    --slave   /usr/bin/g++ g++ /usr/bin/g++-4.8 \
                    --slave   /usr/bin/gcov gcov /usr/bin/gcov-4.8 \
                    --slave   /usr/bin/gcov-dump gcov-dump /usr/bin/gcov-dump-4.8 \
                    --slave   /usr/bin/gcov-tool gcov-tool /usr/bin/gcov-tool-4.8 \
                    --slave   /usr/bin/gcc-ar gcc-ar /usr/bin/gcc-ar-4.8 \
                    --slave   /usr/bin/gcc-nm gcc-nm /usr/bin/gcc-nm-4.8 \
                    --slave   /usr/bin/gcc-ranlib gcc-ranlib /usr/bin/gcc-ranlib-4.8

update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-6 \
                    15 \
                    --slave   /usr/bin/cc cc /usr/bin/gcc-6 \
                    --slave   /usr/bin/c++ c++ /usr/bin/g++-6 \
                    --slave   /usr/bin/g++ g++ /usr/bin/g++-6 \
                    --slave   /usr/bin/gcov gcov /usr/bin/gcov-6 \
                    --slave   /usr/bin/gcov-dump gcov-dump /usr/bin/gcov-dump-6 \
                    --slave   /usr/bin/gcov-tool gcov-tool /usr/bin/gcov-tool-6 \
                    --slave   /usr/bin/gcc-ar gcc-ar /usr/bin/gcc-ar-6 \
                    --slave   /usr/bin/gcc-nm gcc-nm /usr/bin/gcc-nm-6 \
                    --slave   /usr/bin/gcc-ranlib gcc-ranlib /usr/bin/gcc-ranlib-6

使用update-alternatives --config gcc在它们之间切换。

票数 11
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7832892

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档