【问题标题】:How to update GCC in MinGW on Windows?如何在 Windows 上的 MinGW 中更新 GCC?
【发布时间】:2012-04-09 13:18:55
【问题描述】:

我以前在 Ubuntu 上习惯于从源代码手动安装 GCC,这是一个痛苦的过程。所以我真的不想重复这个过程。目前,我的机器上安装了 MinGW 和 GCC (4.6.2)。那么有没有一种简单的方法来更新 GCC 而无需完全从源代码构建它?有没有人做过,可以分享一些技巧吗?

【问题讨论】:

    标签: c++ gcc c++11 mingw


    【解决方案1】:

    如果没有,你只需要更新你的 g++ 编译器。

    第一个问题可以通过这个解决:

    使用 GUI 版本更新:

    如果你不习惯终端,还有一个GUI版的MinGW,叫做“MinGW Installation Manager”,一般位于:

    C:\MinGW\libexec\mingw-get\guimain.exe 当 GUI 打开时,点按

    Installation -> Update Catalogue
    

    。这将更新软件包列表。

    之后,点按

    Installation -> Mark All Upgrades
    

    。这将选择所有可以升级的包。 最后,点按

    Installation -> Apply Changes 
    

    应用升级。

    第二个问题可能是,如果您没有在环境变量中更新 mingw 的路径。

    【讨论】:

      【解决方案2】:

      来自http://winlibs.com/ 的 MinGW-w64 版本具有最新的 GCC 版本,无需安装,只需解压缩下载即可。要升级,您只需将 mingw32 或 mingw64 文件夹替换为新版本即可。

      【讨论】:

        【解决方案3】:

        使用终端更新:

        1. 运行命令提示符/终端(cmdsh)。

        2. 更新包列表:

          mingw-get update
          
        3. 更新包列表后,运行:

          mingw-get upgrade
          

        命令运行完成后,您的所有软件包都将升级。


        使用 GUI 版本更新:

        如果你不习惯终端,还有一个GUI版的MinGW,叫做“MinGW Installation Manager”,一般位于:

        C:\MinGW\libexec\mingw-get\guimain.exe
        
        1. 当 GUI 打开时,点击Installation -> Update Catalogue。这将更新软件包列表。

        2. 之后,点击Installation -> Mark All Upgrades。这将选择所有可以升级的包。

        3. 最后,点击Installation -> Apply Changes 应用升级。

        【讨论】:

        • ´mingw-get upgrade´ 崩溃(“[...] 已停止工作。”)。知道为什么吗?
        • 供参考:您也可以通过输入不带参数的 mingw-get 来启动 GUI 版本
        【解决方案4】:

        在 Windows 中获取最新的 MinGW64:https://sourceforge.net/projects/mingw-w64/?source=typ_redirect

        适用于所有平台:https://mingw-w64.org/doku.php/download

        【讨论】:

          【解决方案5】:

          如果你使用MSYS2 只需打开 mingw64-console 并输入:

          # Update the package database and core system packages with:
          pacman -Syu  
          
          # If needed, close MSYS2, run it again from Start menu. Update the rest with:
          pacman -Su
          

          【讨论】:

            【解决方案6】:

            更新:截至 2012 年 11 月 5 日,MinGW 包括 GCC 编译器的 4.7.2,这是最新版本。我个人会使用 MinGW 包,因为它包含了MSYS 和其他工具,而且由于它是事实上的标准,我希望它得到更好的支持。唯一的缺点是包含的 GDB 不包含 Python 脚本,但我认为可以单独更新。


            我不知道你是否可以在 MinGW 中更新 GCC,但是有更新版本的 GCC 来替代 MinGW 的项目。

            MinGW-builds 项目提供了一个类似于 MinGW 的包,但带有更新的 GCC (4.7.2)。在将现有的 MinGW 移动到另一个文件夹后,我将文件提取到 c:\MinGW(因此我可以使用相同的路径)。只有 MinGW 有MSYS,所以如果你需要(我确实)从原始 MinGW 复制 msys 文件夹。

            安装MinGW-builds后,g++ --version的结果:

            g++ (Built by MinGW-builds project) 4.7.2
            

            标准 MinGW 附带的最新 GCC 目前是 4.7.0。我在 Code::Blocks 中编译了几个简单的项目,以及最新的 wxWidgets 源码,似乎一切正常。

            值得注意的是,MinGW-builds 包含一个支持 Python 脚本的 GDB 版本,以防您需要 STL 漂亮的打印机支持或其他 GDB Python 功能。

            另一个不错的选择是TDM-GCC,这是一个托管令人印象深刻的安装程序的项目,其中包括更新的 GCC 编译器 (4.7.1) 和支持工具。它是一个独立的软件包。据我所知,这个包附带的 GDB 不支持 Python 脚本。

            最后是 MinGW-w64 项目,它是 MinGW 的一个分支。 Rubenvb 发布了这个问题的答案,基于这个项目有很好的独立包(在个人构建文件夹中),其中包括更新的 GCC(4.7.2)。包含的 GDB 似乎启用了 Python 脚本。

            【讨论】:

            • 目前,MinGW-w64 包含最新的 GCC 版本:5.1.0。我会说这是自己编译所有内容后的最佳选择。
            【解决方案7】:

            我已经构建了一个更新的 GCC 4.7(它是在代码冻结中构建的,所以它应该与发行版等效)。此外,此版本包含 <thread> 支持。

            -gcc_linux 包是你想要在 Linux 上使用它的包。只需提取某处并将mingw??/bin 目录添加到PATH。

            PS:有一个本地 Windows 编译器和一个 Windows Clang 构建。我建议仅将 Clang 与我的 GCC 4.6 版本之一一起使用,因为它与 GCC 4.7 的 libstd++ 有问题。将 Clang 包解压到与 GCC 包相同的目录中,它会开箱即用。

            【讨论】:

              【解决方案8】:

              【讨论】:

              • 是否可以简单地解压 x86_64-mingw32-gcc-4.7.0-release-c,c++,fortran-sjlj.zip 并放入当前的 MinGW 安装中?由于库不兼容,这会破坏一些东西吗?它是否基本上禁用了 mingw-get 以便它不再跟踪 gcc 的更新?
              • 正如@GravityWe11 的答案中所链接的,MinGW-builds 已移至sourceforge。您将在这里看到一些较新的版本,例如 GCC 4.7.2 版本。只需为任何未来的用户添加更新。
              • 你也可以直接从mingw.org到MinGW官网选择下载从那里选择需要的下载
              猜你喜欢
              • 2021-10-08
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2013-08-29
              • 1970-01-01
              • 2020-12-28
              相关资源
              最近更新 更多