Windows 8 上的 MinGW

Posted

技术标签:

【中文标题】Windows 8 上的 MinGW【英文标题】:MinGW on Windows 8 【发布时间】:2012-12-11 16:28:02 【问题描述】:

我的操作系统是 Windows 8,我使用的是 MinGW 版本 4.6.1。当我使用gcc 编译时,它编译得很好。但是在运行时会抛出以下错误:

此版本的 C:\Users\danish\Documents\a.exe 与 versi 不兼容 在您正在运行的 Windows 上。检查计算机的系统信息,然后 联系软件发行商。

是否有适用于 Windows 8 的稳定版本?或任何其他替代品

【问题讨论】:

你解决了吗? 【参考方案1】:

使用 mingw32-gcc.exe 来编译您的源代码,而不是 gcc.exe。我不知道它是否有效,因为我没有 Windows 8,但无论如何你都可以尝试。

【讨论】:

使用mingw32-gcc.exe编译你的源代码而不是gcc.exe,我不知道它是否有效,因为我没有windows 8,但你可以尝试一下。 【参考方案2】:

我可用于测试的最早版本的 gcc 是 4.6.3。它在 64 位 Windows 8 上对我来说很好用。

// -*- compile-command: "gcc -o test.exe test.cpp"; -*-
#include <stdio.h>
int main ()

  puts ("Hello, World!");

输出:“你好,世界!”。

也许您正在使用针对 64 位 Windows 的 gcc,然后在 32 位 Windows 上运行该程序。 gcc -v 2&gt;&amp;1 | find "Target:" 输出什么? systeminfo | find "System Type" 输出什么?

【讨论】:

【参考方案3】:

@Jatin,我遇到了和你一样的问题。我所做的是,我在 notepad++ 中编写了一个程序,然后将其保存为 cpp 文件。因此,它被分配了一个默认扩展名“.h”。现在,每当我使用 g++ 编译它时,都会创建一个 32 位 exe,它会引发与您上面提到的相同的错误。我为克服上述问题所做的是,我手动将文件的扩展名更改为“.cpp”,然后编译它。在这种情况下,创建了一个成功运行的 64 位 exe 文件,从而显示正确的输出。

我同意这并不能解决问题,但它确实提供了一种解决方法。希望这可以帮助! :)

【讨论】:

以上是关于Windows 8 上的 MinGW的主要内容,如果未能解决你的问题,请参考以下文章

mingw windows找不到Eigen头文件

怎样在windows下用mingw编译librsvg

最好的GCC for windows还是MinGW-w64官网

Windows 8 上的独立存储(一一)

某些 Windows 8 和 8.1 上的 Unity3d 4.6 UI 图像错误

Windows 8 上的 Wmi 安全性