我在linklist.h和linklist.c中的两个文件中实现了一个链接列表,我调用了一些函数 在main.c的main函数中的linklist.h中定义。 linklist.h包含在linklist.c和main.c中。当我使用Makefile通过GCC编译该程序时,会出现名为“未定义的xxx引用”的错误。我认为我的Makefile编写正确如下。那么这个链接错误的可能原因是什么
CC=gcc
CFLAGS= -g -O2
TARGET=target
OBJECTS=main.o linklist.o
TARGET: $(OBJECTS)
$(CC) $(CFLAGS) $(OBJECTS) -o $(TARGET)
clean:
rm target $(OBJECTS)
main.o:linklist.h
linklist.o:linklist.h
答案 0 :(得分:1)
makefile看起来没问题。
仔细查看链接器报告的函数名称的拼写和源代码中的名称。
检查函数是否在linklist.c中声明为static;如果是,则在main.c中不可用。
否则,我们可能需要查看您的代码和实际错误。