C Makefile,奇怪的错误为;“没有目标”;当目标出现时
所以我有了makefileC Makefile,奇怪的错误为;“没有目标”;当目标出现时,c,makefile,C,Makefile,所以我有了makefile HEADERS = preferences.h distances.h OBJECTS = movie_recommender.o preferences.o distances.o default: movie_recommender %.o: %.c $(HEADERS) ; gcc -c $< -o $@ movie_recommender: $(OBJECTS) ; gcc $(OBJECTS) -o $@ clean:
HEADERS = preferences.h distances.h
OBJECTS = movie_recommender.o preferences.o distances.o
default: movie_recommender
%.o: %.c $(HEADERS)
; gcc -c $< -o $@
movie_recommender: $(OBJECTS)
; gcc $(OBJECTS) -o $@
clean:
; -rm -f $(OBJECTS)
; -rm -f movie_recommender
我试着添加目标
movie_recommender.o: movie_recommender.c
gcc -c movie_recommender.c
我收到另一个错误。谁能告诉我我做错了什么?
非常感谢 make程序只在当前目录中查找您的文件。当前目录中没有
movie\u recommender.c
文件,因此make
看不到它,也找不到任何方法制作movie\u recommender.o
解决方案是添加,使makefile知道源目录和头目录,您可以这样做。如果你加上
vpath %.c src
然后它将自动在src
目录中查找%.c
文件
类似地,make
也找不到您的标题
GCC也找不到标题,它也不知道
make
的vpath
,因此您需要将-Iinclude
传递给GCC。make程序只在当前目录中查找您的文件。当前目录中没有movie\u recommender.c
文件,因此make
看不到它,也找不到任何方法制作movie\u recommender.o
解决方案是添加,使makefile知道源目录和头目录,您可以这样做。如果你加上
vpath %.c src
然后它将自动在src
目录中查找%.c
文件
类似地,make
也找不到您的标题
GCC也找不到标题,它也不知道
make
的vpath
,因此您需要将-Iinclude
传递给GCC。在makefile目录中ls
给您什么?编辑:哦,我看到你的路径了。如果信息包含在问题中,而不是包含在链接图像中,则更容易。啊,是的,我不知道如何将路径包含在图像中:(问题是makefile和目录结构之间存在分歧(您可以在文本中描述)。最简单的解决方法是将行vpath%.c src
添加到您的makefile中。ls
在makefile的目录中为您提供了什么?编辑:哦,我看到了您的路径。如果问题中包含了信息,而不是链接图像中,则更容易。啊,是的,我不知道如何在图像中包含路径:(问题是您的makefile和目录结构(您可以在文本中描述)之间存在不一致。最简单的修复方法是将行vpath%.c src
添加到您的makefile中。工作正常。非常感谢!工作正常。非常感谢!