我正在写一个c程序。它包含以下文件:
A.H
#pragma once
extern int a;
A.C
int a = 1;
B.h
#pragma once
#include "A.h"
B.c
#include "B.h"
makefile看起来像那样
生成文件:
objects = A.o B.o
main : $(objects)
cc -Wall -o main $(objects)
当我使用'make'命令时,A.o B.o'中出现错误'重复符号_a'。我搜索了类似的问题,但似乎在所有这些问题中,关键是他们没有使用'extern'关键字。我用它。我的计划有什么问题?
答案 0 :(得分:0)
编辑标题时,可以通过在Makefile中添加依赖项列表来获取make
来重建目标文件,如下所示......
A.o: A.c A.h
B.o: B.c A.h B.h
...告诉make
A.o依赖于A.c和A.h和B.o取决于B.c A.h和B.h.然后它将比较最后修改的时间,如果任何依赖项比对象更新,它将重建它。