我发现越来越多的开源库将使用C ++ 11的功能,而我的Ubuntu Desktop 12.04只有gcc 4.6,我想使用update-alternatives将默认的gcc版本更改为4.7或4.8。我想知道,如果gcc 4.6编译的/ usr / local / lib中的库需要由新的gcc 4.7 / 4.8重新编译。在我看来,如果依赖库仍在系统中,则无需重新编译。但是,如果一个依赖库由新的gcc 4.7编译,那么库之间的依赖关系是否仍然正确?抱歉我的英语不好。 谢谢。
答案 0 :(得分:0)
只需更新到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:~$
确保逐个升级而不是跳转。这通常是一个非常顺利的过程。