extern声明函数一直报错?

问题遇到的现象和发生背景

最近突然想试一下不写头文件直接声明外部函数,结果一直报错?

用代码块功能插入代码,请勿粘贴截图
#include 
int rand0(void);
int main(){
    int count ;
    for(count=0;count<5;count++)
    {
        printf("%hd\n",rand0());
    }
    return 0;
}
//第二个文件
static unsigned long int next=1;
int rand0(void)
{
    next=next*1103515245+12345;
    return (unsigned int )(next/65536)%32768;
 } 

运行结果及报错内容

ld returned 1 exit status