我在Ubuntu12.04(LTS)中将GCC4.6更新为4.7或更高版本有关系吗

我在Ubuntu12.04(LTS)中将GCC4.6更新为4.7或更高版本有关系吗,gcc,c++11,ubuntu-12.04,gcc4.7,Gcc,C++11,Ubuntu 12.04,Gcc4.7,我发现越来越多的开源库将使用C++11功能,而我的Ubuntu Desktop 12.04只有GCC4.6,我想使用更新选项将默认的gcc版本更改为4.7或4.8。我想知道,由GCC4.6编译的/usr/local/lib中的库是否需要由新的GCC4.7/4.8重新编译。在我看来,如果依赖项库仍然在系统中,则无需重新编译。但是,如果一个依赖库由新的GCC4.7编译,那么库之间的依赖关系仍然正确吗?对不起,我的英语很差。 谢谢 只需更新到13.04(很快就是13.10)。从13.04年款的开发箱:

我发现越来越多的开源库将使用C++11功能,而我的Ubuntu Desktop 12.04只有GCC4.6,我想使用更新选项将默认的gcc版本更改为4.7或4.8。我想知道,由GCC4.6编译的/usr/local/lib中的库是否需要由新的GCC4.7/4.8重新编译。在我看来,如果依赖项库仍然在系统中,则无需重新编译。但是,如果一个依赖库由新的GCC4.7编译,那么库之间的依赖关系仍然正确吗?对不起,我的英语很差。 谢谢

只需更新到13.04(很快就是13.10)。从13.04年款的开发箱:

edd@max:~$ ls -1 /usr/bin/g*-4.*
/usr/bin/g++-4.4
/usr/bin/g++-4.5
/usr/bin/g++-4.6
/usr/bin/g++-4.7
/usr/bin/gcc-4.4
/usr/bin/gcc-4.5
/usr/bin/gcc-4.6
/usr/bin/gcc-4.7
/usr/bin/gcc-ar-4.7
/usr/bin/gcc-nm-4.7
/usr/bin/gcc-ranlib-4.7
/usr/bin/gcov-4.4
/usr/bin/gcov-4.5
/usr/bin/gcov-4.6
/usr/bin/gcov-4.7
/usr/bin/gfortran-4.4
/usr/bin/gfortran-4.5
/usr/bin/gfortran-4.6
/usr/bin/gfortran-4.7
edd@max:~$ 

确保你一个接一个地升级,而不是跳转。这通常是一个非常顺利的过程。

我想将12.04更新为最新版本,但我不确定旧系统中构建的库是否仍然可以使用,或者我将重新编译它们,这很无聊。你能给我一些建议吗?不是真的:C,C++和FORTRAN。我甚至没有为Ada、D、ObjC等安装gcc前端。。。但是是的,它同时提供了四个版本。在
/usr
(即Ubuntu)中的东西将继续工作,因为
/usr/local
通常是这样,但我们不能保证这一点。最坏的情况下,你可能不得不重建一些。