如何在Windows 7 64位系统上安装MinGW?

6
在我收到任何负评之前,我想说我是一个机械工程师,对C++编程非常感兴趣。直到今天,我一直使用VS 2010 Express和Qt Creator来满足我的需求。但现在我想在MinGW中编译Qt Creator,因为标准SDK仅适用于32位。我尝试在MinGW维基、sourceforge、博客等地方寻找明确的指导,但那种语言对我来说几乎是不可理解的。我想要一个标准的C++编译器,可以在我的Windows 7 64位笔记本上编译64位和32位应用程序。 最终,我下载了http://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win32/Automated%20Builds/mingw-w32-bin_i686-mingw_20111219.zip/download。 当我将其解压到C:/MinGw64时,目标就像x86_64-w64-mingw32-gcc.exe、x86_64-w64-mingw32-g++.exe。我将它们添加到PATH环境变量中,然后它就可以编译我的程序,但名字太长了。 验证步骤如下: Getting started with OpenCV 2.4 and MinGW on Windows 7 在正确的答案中,命令是"g++ -I"C:\opencv\build\include" -L"C:\opencv\build\x86\mingw\lib" loadimg.cpp -lopencv_core243 -lopencv_highgui243 -o loadimg",但这对我不起作用。我必须输入"x86_64-w64-mingw32-g++"来编译。 我做错了什么吗?我该使用哪个来编译32位应用程序? 如果我的问题太愚蠢,请原谅,因为我对这些东西还很陌生。 谢谢!

要在VC++ 2010中编译64位应用程序,您应该从http://www.microsoft.com/en-us/download/details.aspx?id=8442下载正确的镜像。选择-x64 ISO文件名:GRMSDKX_EN_DVD.iso。阅读此博客以获取帮助:http://blogs.msdn.com/b/windowssdk/archive/2010/05/25/released-windows-sdk-for-windows-7-and-net-framework-4.aspx。 - SChepurin
我最终没有使用MinGW,但是我基本上经历了相同的过程,在Windows上使用Qt 64位 - 查看我的最近的问题,可能会对你有所帮助。 - Matt Phillips
虽然这是针对Eclipse的,但您可能想查看此帖子http://stackoverflow.com/questions/17393311/openvc-2-4-5-eclipse-cdt-juno-mingw-error-0xc0000005/17402441#17402441 - Nenad Bulatović
1个回答

6

x86_64-w64-mingw32-g++是编译器的名称,并应用于目标架构的名称。这是为了区分同一机器上不同版本的gcc。当您没有安装其他gcc时,可以将x86_64-w64-mingw32-g++复制到g++,将x86_64-w64-mingw32-gcc复制到gcc。

您可以通过打开终端(开始->运行->cmd)并在其中输入gcc -dumpmachine来检查是否有其他版本的gcc。如果它说出现了类似32位编译器的内容,那么您已经安装了32位编译器。如果它说是64位编译器,则无需进行任何操作。如果它说没有gcc,则必须复制x86_64-w64-mingw32 *编译器并将其路径添加到系统路径中。


我得到了以下信息:“gcc”不被识别为内部或外部命令,可执行程序或批处理文件。 - Cool_Coder
然后一切看起来都很好。只需将编译器复制到gcc.exe和g++.exe,并将目录添加到您的PATH环境变量中(http://www.computerhope.com/issues/ch000549.htm),然后可能需要重新启动Windows。 - Rudi
嗯,那可以工作!但它只适用于命令g++。对于gcc,它显示5个错误: undefined reference to `std::basic_istream<char, std::char_traits<char> >::operator>>(int&) )' & more such.我的cpp文件只打印hello world并暂停以接受用户输入。 - Cool_Coder
1
错误来自于链接阶段。你可以将g++作为链接器运行,或者在gcc的链接参数中添加-lstdc++ - Rudi
这取决于你的软件是如何构建的。你能在pastebin.com上发布构建日志吗? - Rudi
我没有自己构建MinGW。我从SourceForge下载了自动化构建。 - Cool_Coder

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接