发布网友 发布时间:2022-04-21 05:35
共1个回答
热心网友 时间:2023-11-05 22:37
大部分原因是链接时缺失了相关目标文件
首先编写如下代码
//test.h
#ifndef__TEST_H__
#define__TEST_H__
voidtest();
#endif
//test.c
#include<string.h>
#include<stdio.h>
voidtest()
{
printf("justtestit\n");
}
//main.c
#include"test.h"
intmain(intargc,char**argv)
{
test();
return0;
}
然后输入以下命令,你会得到两个.o文件
$gcc-ctest.c
$gcc_cmain.c
编译时报错了,这是最典型的undefinedreference错误,因为在链接时发现找不到某个函数的实现文件。编写如下命令即可。
$gcc-omainmain.o test.o