C语言不同文件中的函数调用?

我创建了a. c文件,在文件中添加了#include "b. h"
又创建了b. c文件,在里面定义了函数int c(void){…此处省略},并添加了#include "b. h"
又创建了b. h文件,在里面添加剂int c(void);
为什么在a. c函数中不能调用b文件里面的int c()函数
调用:c();
编译a. c文件编译器显示错误:
POLINK:Unresolved external symbol'_WinMain@16'.
POLINK:fatal error. 1 unresolved external(s).
a. c:#include <stdio.h>
#include "b. h"
int main(void){
printf("a");
b();
return 0;
}
b. c:#include <stdio.h>
#include 'b. h"
int b(void){
printf("b");
return 0;}
b. h:int b(void)
a. exe项目
SOURCE FILES:
a. c
b. c
Include files
b. h

从描述来看是可以的。你的函数有没有用static修饰?或者把编译的错误提示拿出来看看。追问

POLINK:Unresolved external symbol'_c'.
POLINK:fatal error. 1 unresolved external(s).

追答

检查一下函数名,怎么有_c是不是多了一个_符号

追问

没有

追答

你得先编译b.c文件,或者你的编译器是建立一个项目然后包含了所有.c源文件吗?

追问

这个项目包含了a. c和b. c
先编译b. c文件也不行

追答

看不到文件也不知道啥问题了

追问

但是这个项目里面没有b. h文件

追答

在同一个目录里应该没有问题,你加进去看看。

追问

我加进b. h了

编译器显示错误

POLINK:Unresolved external symbol'_WinMain@16'.
POLINK:fatal error. 1 unresolved external(s).

追答

这个控制台程序还是图形界面程序?怎么会有winmain,控制台入口是main。工程类型有没有选对

温馨提示:答案为网友推荐,仅供参考
相似回答