4

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

这是代码:

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

2 回答 2

7

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

于 2012-11-19T19:11:50.490 回答
0

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

您可以通过更改生成文件来执行此操作。

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

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

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

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

于 2012-11-19T19:16:46.543 回答