编译时未定义的引用

Els*_*ban 0 c extern undefined-reference variable-declaration

我试图使用我已经在.c文件上的.h文件中声明的变量,我给了我一个编译错误:

未定义的引用 var

这是mach.c内容:

#include "machheader.h"

int 
main( void )
{
    var = 1;
    printf("Variable %d\n", var);
}
Run Code Online (Sandbox Code Playgroud)

而我的machheader.h只包含这个:

extern int var;

任何的想法?

Sou*_*osh 5

在你的情况下,

 extern int var;
Run Code Online (Sandbox Code Playgroud)

宣言,而不是定义.您需要var在代码中定义.