使用makefile编译程序和模块时出现c-Wiard错误



这是我运行make:时的错误

Undefined symbols for architecture arm64:
"_add", referenced from:
_main in a4-1-989722.o
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [a4-1] Error 1

注意(我模块中的一个函数是add((

这是生成文件:

CC = gcc
CFLAGS = -Wall -Wextra -pedantic
TARGET = a4-1
DEP1 = myMath
all:    $(TARGET)
debug:  CFLAGS += -DDBUG
debug:  $(TARGET)
&(TARGET): $(TARGET).c $(DEP1).o
$(CC) $(CFLAGS) $(DEP1).o -o $(TARGET) $(TARGET).c
$(DEP1).o: $(DEP1).c
$(CC) $(CFLAGS) -c $(DEP1).c
clean:
rm $(TARGET) *.o

这是模块.c文件:

#include <stdio.h>
#include <stdlib.h>
int add(int x, int y)
{
return(x + y);
}

这是模块.h文件:

int add(int, int);
#include "module.h"

module.c

最新更新