【问题标题】:Does it matter that I update the gcc 4.6 to 4.7 or higher in Ubuntu 12.04(LTS)我在 Ubuntu 12.04(LTS) 中将 gcc 4.6 更新到 4.7 或更高版本是否重要
【发布时间】:2013-10-08 08:49:20
【问题描述】:

我发现越来越多的开源库会使用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 编译了一个依赖库,那么库之间的依赖关系是否仍然正确?对不起我的英语不好。 谢谢。

【问题讨论】:

    标签: gcc c++11 ubuntu-12.04 gcc4.7


    【解决方案1】:

    只需更新到 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 他们通常这样做,但不能保证这一点。最坏的情况你可能不得不重建一些。
    猜你喜欢
    • 1970-01-01
    • 2013-11-19
    • 1970-01-01
    • 2021-07-20
    • 1970-01-01
    • 1970-01-01
    • 2012-11-30
    • 2013-01-10
    • 1970-01-01
    相关资源
    最近更新 更多