c - Makefile 没有这样的文件或目录
问题描述
我正在尝试做一些简单的链表实践来熟悉C。我目前有以下makefile。
CC=gcc
CFLAGS=-Wall
app: linked_list.o app.c
$(CC) $(CFLAGS) linked_list.o app.c -o app
node.o: node.h
$(CC) $(CFLAGS) -c node.c
linked_list.o: linked_list.h
$(CC) $(CFLAGS) -c linked_list.h -o app
当我运行它时,我得到这个: gcc: error: linked_list.o: No such file or directory
我尝试重新排序 node.o 和 linked_list.o,但没有任何效果。
解决方案
您需要编译.c
文件,而不是.h
; 并摆脱-o app
.
linked_list.o: linked_list.c linked_list.h
$(CC) $(CFLAGS) -c linked_list.c
确保将.c
和.h
文件都列为依赖项,包括这里和 with node.o
:
node.o: node.c node.h
$(CC) $(CFLAGS) -c node.c
推荐阅读
- javascript - 将更改文本颜色应用于特定标题样式
- terraform - Terraform - 调用模块抛出错误时引用实例值
- reactjs - 如何在 React 中重定向到新页面
- awstats - Awstats 显示空白页
- python - Python 运行 SQL 存储过程
- nosql - 使用 userID 作为文档键与作为具有 userID 属性的文档构建集合的优势是什么?
- javascript - 用数字分割字符串
- javascript - 向下滚动时,有什么办法可以让这两个框从两侧滑入?
- javascript - 依赖注入:同一函数的其余函数参数和默认函数参数?
- jquery - 在容器内单击时以模态缩放图像