首页 文章

制作:复制符号

提问于
浏览
0

我正在写一个c程序 . 它包含以下文件:

#pragma once
extern int a;

交流转换器

int a = 1;

B.h

#pragma once
#include "A.h"

公元前

#include "B.h"

makefile看起来就像那样

生成文件:

objects = A.o B.o
main : $(objects)
    cc -Wall -o main $(objects)

当我使用'make'命令时,在A.o B.o'中有错误'重复符号_a' . 我搜索了类似的问题,但似乎在所有这些问题中,关键是他们没有使用'extern'关键字 . 我用它 . 我的计划有什么问题?

1 回答

  • 0

    编辑 Headers 时,可以通过在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.然后它将比较最后修改的时间,如果任何依赖项比对象更新,它将重建它 .

相关问题