c-尝试制作一个简单的Makefile失败



我有三个文件,main.clists.clists.h

我正在尝试写一个Makefile,所有文件都在同一目录中:

maman21: lists.c lists.h main.c
    gcc -g -Wall -ansi main.c -o maman21 -lm

通过终端进入文件夹并使用make显示以下消息:

gcc -g -Wall -ansi main.c -o maman21 -lm
Undefined symbols for architecture x86_64:   "_linkedListWay",
referenced from:
      _main in main-C9dUT4.o   "_reallocWay", referenced from:
      _main in main-C9dUT4.o ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to
see invocation)
make: *** [maman21] Error 1

reallocWaylinkedListWay是我在文件中使用的函数。

谢谢你的帮助。

您未能在编译器调用中包含lists.c文件,因此无法构建该文件。

应该是:

CFLAGS=-g -Wall -ansi
LDLIBS=-lm
maman21: main.o lists.o
main.o:  main.c
lists.o: lists.c lists.h

上面使用了隐式Makefile规则,它"知道"如何将C文件转换为对象(.o)文件。

另外,Clang被称为gcc是正常的吗?

最新更新