未定义的'WinMain @ 16'C错误引用

时间:2012-11-19 18:32:35

标签: c eclipse eclipse-cdt

我正在使用Eclipse(C编程),我已经提出了这个代码,但每次构建它时,我都会收到错误消息“未定义引用'WinMain @ 16'”。我花了2个多小时试图解决这个问题,但我无法弄清楚我的错误在哪里。有人可以帮忙吗?

这是代码:

#include <stdio.h> 

int main(void)
{
    int input;

    printf("Please enter an integer:\n");
    scanf("%d",&input);
    int temp = input;

    while(input<=temp+10)
    {
        printf("%d ",input);
        input++;
    }

    printf("\n");

    return 0;
}

2 个答案:

答案 0 :(得分:7)

编译或构建时,Eclipse不会自动将文件保存到磁盘。但编译器正在使用磁盘上的文件。所以也许你在添加主函数后没有保存文件。

答案 1 :(得分:0)

如果您正在编译正确且已保存的文件,则必须确保在使用main入口点时将子系统目标设置为控制台进行编译。

您可以更改makefile。

如果您不知道如何执行此操作,或者如果您不使用makefile并且不想更改编译器的参数行,则可以使用此指令:

#pragma comment(linker, "/subsystem:console")

WinMain通常用于/subsystem:windows类型的程序,当您尝试创建控制台应用程序时,应使用/subsystem:consolemain入口点。

再次确保您正在编译磁盘上的正确文件。