我有一个项目,其中我有一些代码文件定义函数,一些头文件,然后一个.c文件用于测试(具有main())。特别是,我将这些文件都放在同一个文件夹中(.c和.h):
“骰子”,“游戏”,“地图”,“玩家”。然后是“测试”,最后一个只有.c。在所有.h文件中,开头都有相同类型的声明(这是来自“game.h”):
#ifndef GAME_H
#define GAME_H
#include "dice.h"
#include "map.h"
#include "players.h"
//then there goes the short declaration of the functions in game.c
#endif
stdio.h也被添加到.c文件中。
我的问题是我总是得到这样的错误:“[链接器错误]:未定义引用'whatever_the_function_is_called'”(对于类似2或3个函数),以及“[链接器错误]:未定义引用” WinMain函数@ 16' ”。 “Id返回1退出状态”。我设法解决的唯一问题是在main()之前添加“void”的“WinMain @ 16”错误,但我以前从未需要这个。实际上,在该项目的早期版本中,没有发生过这种情况。
我检查了我的拼写并查看了区分大小写,修改了参数,检查了函数是否写在正确的位置,并且多次测试了很多其他的东西,但没有任何效果。
有人可以帮我吗?任何想法,解释或任何事情将不胜感激。
提前谢谢!
PD:主要功能:
main(){
int i;
char opt = 'a';
t_players pl;
t_map map;
initialize_seed();
initialize_players(&pl);
initialize_regions(&map, &pl);
while(opt != 'n' && opt != 'N'){
print_map(map, pl);
scanf("%c", &opt);
//still to complete
}
}