如何解决这个依赖?
在我的项目中,每个文件都包含同名的头文件。
头文件包含另一个头文件(依赖项)。
毕竟我有这个依赖:
parser.h -> lexer.h -> str.h
parser.h -> tables.h -> bst.h -> str.h
因此,当我不在 bst.h 中包含 str.h 时,我会遇到“未知类型名称”错误。
当我包含 str.h 时出现“类型重新定义”错误。
据我了解,这可以通过 Makefile 中的正确依赖项来解决。
在此之前,我只有最简单的 Makefile(对象列表,一个命令)。
还有,解决循环依赖最简单的方法是什么?
instructions.h -> bst.h
bst.h -> instructions.h
所以我需要指令原型(prototype)的数据类型,但还需要指向 bst.h 中指令的指针以用于 goto 指令。
我正在用 C99 编写,在 Makefile 中尝试了很多依赖变体,但没有结果。
提前致谢。
最佳答案
在 str.h 中扩展 Oli 的评论:
#ifndef __STR_H__
#define __STR_H__
/* str.h contents here */
#endif
关于c - 解决 Makefile 依赖,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20269359/