使用GCC编译时未定义的“func”引用

时间:2010-05-08 18:12:02

标签: gcc

我在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 

1 个答案:

答案 0 :(得分:1)

makefile看起来没问题。

仔细查看链接器报告的函数名称的拼写和源代码中的名称。

检查函数是否在linklist.c中声明为static;如果是,则在main.c中不可用。

否则,我们可能需要查看您的代码和实际错误。