project_1.vcproj包含: header_1.h有“extern int flag;”被宣布。 source_1.c已初始化“int flag = 0”
project_2.vcproj包含: source_2.c有一个修改flag值的函数。
#include "header_1.h"
void setFlag() {
flag = 1;
}
当我尝试编译时,我收到链接错误: 错误LNK2001:未解析的外部符号“int flag”
我想要实现的是我希望flag的值全局可见。 因为在标志设置为1之后,source_1.c使用此信息做其他事情。
请让我知道如何实现我。感谢。
答案 0 :(得分:1)
您必须#include "header_1.h"
顶部source_2.c
。
还要确保项目_2中包含source_1.c
。
答案 1 :(得分:0)
Project_2必须包含header_1.h或Project_2必须声明extern int flag
。无论哪种方式,您都需要将Project_2与int flag
的实际存储位置相关联。否则,project_2将不会操作位于Project_1中的int flag
的值。
答案 2 :(得分:0)
将int flag = 0
解压缩到单独的.c文件中,并将该源文件添加到两个项目中