我已经在已经具有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
gcc-3.3
如何将默认编译器更改为gcc-3.3?当我执行命令时,gcc它应该调用gcc-3.3而不是gcc-4.4。
另外,如何将make文件中的变量CXX更改为gcc-3.3?我希望更改系统中的一个通用全局位置,而不是更改所有make文件。
如@Tommy所建议,您应该使用update-alternatives。 它为系列的每个软件分配值,以便定义应用程序的调用顺序。
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):
gcc-4.4
/usr/bin/gcc-3.3
update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-3.3 50
- 编辑 -
最后,您还可以使用的交互界面update-alternatives在版本之间轻松切换。键入update-alternatives --config gcc要求您选择的gcc版本,以供安装。
update-alternatives --config gcc
-编辑2-
现在,要在系统范围内修复CXX环境变量,您需要在.bashrc文件中放入@DipSwitch指示的行(这将仅对您的用户应用更改,我认为这更安全):
.bashrc
echo 'export CXX=/usr/bin/gcc-3.3' >> ~/.bashrc