'对'WinMain' 的未定义引用' 最小脚本错误,Dev-C++

问题描述

我是 C 和编程的新手。 我在 Windows 10 上,我刚刚安装了 Dev-C++,我正在学习如何从其他文件调用函数:我编写了这个函数来对两个数字求和,并从主脚本中调用它。

问题是,当我编译 func.c 文件时,我收到了标题错误,所以如果我运行主文件,它无法识别“sum”函数。 这是 main.c 文件

#include <stdio.h>
#include "func.h" 
    main(){
      int x,y,s;
      scanf("%d %d",&x,&y);
      s = sum(x,y);
      printf("\n%d",s); 
      }

这是头文件

#ifndef FUNC_H_INCLUDED
#define FUNC_H_INCLUDED

int func(int a,int b);

#endif // FUNC_H_INCLUDED

这是 func.c 文件中 sum 函数代码

#include <stdio.h>
#include "func.h"
int func(int a,int b){
    return(a+b);
}

我确实阅读了很多其他问题,但它们对我的情况没有帮助,或者我没有得到棘手的答案。 谢谢。

解决方法

如果您使用的是 Embarcadero 的 Dev-C++。我使用他们的免费编译器,因为它是“可移植的”。

func.cfunc.h 都包含一个名为 func 的函数,而您的主文件有一个名为 sum 的函数,您必须在名称上保持一致,您可以这样做s=func(x,y) 应该可以工作,但好的做法是反其道而行之,将其他文件中的 func 替换为 sum。 而且必须编译这3个文件,编译1个或2个是不够的。

使用 Embarcadero 的免费编译器编译它们:

C:\path\to\compiler\bcc32x func.c func.h main.c

它会给你 main.exe,你可以从命令提示符运行。