makefile.win报错

makefile.win文件报错。
报错内容:数组类型有不完整的元素类型配方的目标'fast。o '失败

该回答引用ChatGPT

这个错误是由于定义数组时没有给定数组元素的完整类型所导致的。

要解决这个问题,您需要找到报错的文件并找到定义数组的代码行。检查数组定义是否正确,特别是确保数组元素的类型是完整的。例如,如果数组元素类型是结构体,那么结构体的定义必须在数组定义之前。

如果您无法找到代码中的错误,请尝试使用编译器提供的详细错误消息来确定问题的根本原因。检查是否有其他错误消息或警告,这些消息可能会提供有关问题的更多信息。


替换为
.

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 请看👉 :windows下Makefile无法删除中间文件的解决方案
  • 除此之外, 这篇博客: Makefile不再编译已经编译过的未更新文件中的 目标文件 部分也许能够解决你的问题, 你可以仔细阅读以下内容或者直接跳转源博客中阅读:

    这里的目标文件我们根据源文件和编译输出路径来转化,不由用户自己规定

    OBJS += $(subst $(SOFTROOT),$(DEBUGROOT),$(patsubst %.c,%.o,$(SRCS)))
    DEPS += $(subst $(SOFTROOT),$(DEBUGROOT),$(patsubst %.c,%.d,$(SRCS)))

    整体思路:先将.c替换成.o(或者.d),然后将源文件路径替换为编译文件夹的路径。


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^