MinGW .h编译的文件不起作用:此文件的版本与您运行的Windows版本不兼容

时间:2014-01-25 03:07:19

标签: c++ windows mingw

如果我编译的文件是.h类型,我的.exe文件将无法运行。

这是我提出的C ++代码:

#include <iostream>
using namespace std;

int main(){
    int var = 0, sum = 0;
    while (std::cin >> var){
        sum += var;
    }
    std::cout << "sum " << sum << std::endl;
    return 0;
}

我使用MinGW进行编译,我将文件命名为CTesting.h并编译它,运行exe时出现以下错误:

  

此文件的版本与Windows版本不兼容   你在跑。检查计算机的系统信息以查看   是否需要x86(32位)或x64(64位)版本   程序,然后联系软件发行商。

当我将源填充重命名为.cpp类型时,我没有收到此错误。我的理解是C ++使用的是.h和.cpp文件,这是不正确的?或者我做错了什么/遗忘了什么?

1 个答案:

答案 0 :(得分:0)

您不能在此处使用.h扩展程序! MinGW会将CTesting.h识别为 标头 文件。您必须使用 文件扩展名(例如,.cpp用于C ++,或.c用于C),因此GCC可以正确地确定它。 / p>

请参阅here以获取所有文件扩展名的列表,并查看有关标题文件的GCC手册的here