【发布时间】:2020-08-24 16:50:55
【问题描述】:
您好,这可能是一个愚蠢的问题,但我在网上查看后不知道如何解决这个问题。在project/a/aa/filea.h 下我们将调用filea.h 的文件中,我声明了一个变量(全局)bool is_testing = false;。
在project/b/bb/fileb.c 下的另一个名为fileb.c 的文件中,我有以下内容:
#include <a/aa/filea.h>
...
int ex_func(void)
{
is_testing = true;
}
我在尝试编译时收到此错误:filea.h:19: first defined here。有谁知道如何解决这个问题?
【问题讨论】:
-
它在
filea.h中报告错误,但您选择既不向我们显示完整的错误消息也不向我们显示此文件... -
使用
extern关键字。你可能想看看How do I use extern to share variables between source files?
标签: c extern variable-declaration linkage one-definition-rule