【发布时间】:2018-12-09 13:28:27
【问题描述】:
我正在测试如何在 C 中使用 extern,所以我为 main.c、test.c、headfile.h 创建了三个文件。我想在headfile.h中声明变量和函数,在test.c中定义,然后在main.c中打印出变量和调用函数 它通过使用 Dev c++ 成功运行,但是,当我将完全相同的文件放入 VScode 时,它显示错误,即存在对变量的未定义引用
错误信息 enter image description here
main.c
#include <stdio.h>
#include <stdlib.h>
#include"D:\My Documents\Desktop\CODE\c\VScode\externTest\headfile.h"
int gVar = 1;
int main(void)
{
extern float a;
printf("a = %f\n",a);
printf("gVar = %d\n",gVar);
printf("aa = %d\n",aa);
printf("bb = %f\n",bb);
function ();
system("pause");
return 0;
}
test.c
#include <stdio.h>
#include "D:\My Documents\Desktop\CODE\c\VScode\externTest\headfile.h"
float a = 100;
int aa = 200;
float bb = 300;
void function (void){
printf("yeh you got it!!\n");
extern int gVar;
gVar++;
printf("gVar in test.c function = %d",gVar);
}
头文件.h
extern int aa;
extern float bb;
void function(void);
【问题讨论】:
-
你能提供你的编译行吗?
标签: c visual-studio-code undefined-reference