Gcc ';未定义对'的引用;大体上

Gcc ';未定义对'的引用;大体上,gcc,makefile,nasm,Gcc,Makefile,Nasm,我是这里的新用户,因此我将感谢您的耐心和所有建议。当我调用make时,我得到一个错误: gcc main.o func.o -m32 -o prog main.o:main.c:(.text+0x56): undefined reference to '_fractal" collect2: ld returned 1 exit status 这是我的makefile: CC = gcc OBJ = main.o func.o BIN = prog CFLAGS = -m32 $BIN: $(

我是这里的新用户,因此我将感谢您的耐心和所有建议。当我调用make时,我得到一个错误:

gcc main.o func.o -m32 -o prog
main.o:main.c:(.text+0x56): undefined reference to '_fractal"
collect2: ld returned 1 exit status
这是我的makefile:

CC = gcc
OBJ = main.o func.o
BIN = prog
CFLAGS = -m32
$BIN: $(OBJ)
    $(CC) $(OBJ) $(CFLAGS) -o $(BIN)

main.o: main.c
    $(CC) $(CFLAGS) -c main.c -o main.o

func.o: func.s 
    nasm -f elf func.s
我有main.c和func.s文件。
任何人都可以解释我出了什么问题以及如何修复它?

C在函数调用中使用下划线前缀


您在外部组件模块中没有使用
分形
而不是
\u分形
吗?

检查
函数
以查看是否定义了
\u分形
符号。。。使用
nm
(例如)好吧,似乎没有,我得到了:0000000 3 t end,00000000 t fractal,我在func.s
$BIN:$(OBJ)中定义了一个函数“fractal”
是一个打字错误。你的意思是那里的
$(BIN):$(OBJ)