2012-11-19 76 views
3

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

这是代码:

#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; 
} 

回答

6

一个小Googling给了我一个可能的答案到Eclipse相关的问题。

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

0

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

你可以这样做改变makefile。

如果你不知道如何做到这一点,或者如果你没有使用生成文件,并且不希望改变编译器的参数线,您可以使用此指令:

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

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

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

+0

是的..我整理出来:)我试过这两个解决方案,他们完美的工作:)谢谢你的想法:)) –