如何在Windows上更新MinGW中的GCC
How to update GCC in MinGW on Windows?
我以前习惯于在Ubuntu上从源代码手动安装GCC,这是一个痛苦的过程。所以我真的不想重复这个过程。目前,我的机器上安装了MinGW和GCC(4.6.2)。那么,有没有一种简单的方法可以在不完全从源代码构建GCC的情况下更新GCC?以前有人做过吗?可以和我分享一些技巧吗?
使用终端更新:
-
运行命令提示符/终端(
cmd
或sh
)。 -
更新包裹列表:
mingw-get update
-
更新包列表后,运行:
mingw-get upgrade
命令运行完毕后,所有程序包都将升级。
使用GUI版本更新:
如果你不习惯终端,还有一个名为"MinGW Installation Manager"的MinGW GUI版本,通常位于:
C:MinGWlibexecmingw-getguimain.exe
当GUI打开时,点击
Installation -> Update Catalogue
。这将更新程序包列表。之后,点击
Installation -> Mark All Upgrades
。这将选择所有可以升级的程序包。最后,点击
Installation -> Apply Changes
应用升级。
MinGW的快照和发布构建http://code.google.com/p/mingw-builds/downloads/list
更新:截至2012年11月5日,MinGW包含了GCC编译器的4.7.2,这是最新的版本。我个人会使用MinGW包,因为它包括MSYS和其他工具,而且它是事实上的标准,我希望它能得到更好的支持。唯一的缺点是包含的GDB不包括Python脚本,但我认为可以单独更新。
我不知道你是否可以在MinGW中更新GCC,但有一些替代项目可以使用更新版本的GCC来代替MinGW。
MinGW构建项目提供了一个类似于MinGW的包,但更新了GCC(4.7.2)。在将现有的MinGW移动到另一个文件夹后,我将文件提取到c:\MinGW(这样我就可以使用相同的路径)。只有MinGW有MSYS,所以如果你需要的话(我做了),从原来的MinGW复制MSYS文件夹。
安装MinGW构建后,g++的结果--版本:
g++ (Built by MinGW-builds project) 4.7.2
标准MinGW的最新GCC目前为4.7.0。我用Code::Blocks和最新的wxWidgets源代码编译了几个简单的项目,一切似乎都正常。
值得注意的是,MinGW构建包括启用Python脚本的GDB版本,以防您想要STL漂亮的打印机支持或其他GDB Python功能。
另一个不错的选择是TDM-GCC,它是一个拥有令人印象深刻的安装程序的项目,其中包括更新的GCC编译器(4.7.1)和支持工具。它是一个独立的软件包。据我所知,这个包附带的GDB不支持Python脚本。
最后是MinGW-w64项目,它是MinGW的一个分支。Rubenvb发布了这个问题的答案,基于这个项目,他有很好的独立包(在个人构建文件夹中),其中包括更新的GCC(4.7.2)。所包含的GDB似乎启用了Python脚本。
如果使用MSYS2只需打开mingw64控制台并键入:
# 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
我已经构建了一个更新的GCC 4.7(它是在代码冻结中构建的,所以它应该与发行版等效)。此外,此版本包含对<thread>
的支持。
- 32位
- 64位
如果您想在linux上使用-gcc_linux包,那么它就是您想要的。只需提取某个位置并将mingw??/bin
目录添加到PATH中即可。
附言:有一个原生的Windows编译器和一个Windows Clang版本。我建议只在我的一个GCC 4.6构建中使用Clang,因为它在GCC 4.7的libstd++中有问题。在与GCC包相同的目录中提取Clang包,它将开箱即用。
MinGW-w64构建自http://winlibs.com/有最新的GCC版本,不需要安装,只需解压缩下载即可。要升级,只需将mingw32或mingw64文件夹替换为新版本即可。
要在Windows中获取最新的MinGW64:https://sourceforge.net/projects/mingw-w64/?source=typ_redirect
对于所有平台:https://mingw-w64.org/doku.php/download
如果g++编译器没有更新,您只需要更新它。
第一个问题可以通过这个解决:
使用GUI版本更新:
如果你不习惯终端,也有一个GUI版本的MinGW称为";MinGW安装经理";,通常位于:
C: \MinGW\libexec\MinGW get\guimain.exeGUI打开时,点击
Installation -> Update Catalogue
这将更新程序包列表。
之后,点击
Installation -> Mark All Upgrades
这将选择所有可以升级的程序包。最后,点击
Installation -> Apply Changes
以应用升级。
第二个问题可能是,如果不更新环境变量中mingw的路径
- 如何将C++中的库和头与MinGW一起使用
- 分段 Linux Ubuntu 中的 g++ 错误,但在 Windows 中的 g++/MingW 中,在 C++ 中打
- dev在试图从dev c++mingw 4.8.1中的文件读取时接收分段错误
- C++编译错误,std 中的互斥锁不会在 MinGW (GCC 6.3.0) 中命名类型
- 无法将 curl 和 libgcc 编译为 MinGW/CLion (c++) 中的静态库
- 代码中的MinGW::块不链接静态OpenSSL库
- mingw-w64 中的编译器错误:"未定义对'__getreent'的引用。
- Mingw中预处理器G 的奇怪行为
- false ||Mingw编译器v 6.3.0-1中的true给予0
- 使用MinGW的Qt Creator中的代码覆盖率
- MinGW中的数字格式设置更改
- 如何在 Atom IDE 中使用 gpp-compiler 时更改 MinGW 编译的 exe 位置?
- 如果在 minGW 中引起奇怪的 for 循环
- MINGW中的全局超载操作员新/删除
- dll中的mingw隐藏方法名称
- C++ - 在Windows下将LPSTR转换为MinGW中的const char*
- mingw中的套接字编程
- 如何在Windows上更新MinGW中的GCC
- C++ Eclipse Mars+MinGW 中的调试器"gdb.exe --version"错误
- 无法中断gdb-mingw中的函数名