gpt4 book ai didi

c - 在 makefile 中找不到隐式规则

转载 作者:太空宇宙 更新时间:2023-11-04 04:21:33 24 4
gpt4 key购买 nike

由于依赖关系,我的 makefile 执行每次都失败。我不想过度分享,所以我会尽量只分享必要的信息。我正在使用 GNUWin32 make 以便我的 Windows 框可以执行它(我必须处理的约束)并且我能够在 src\\Framework\...\\%o 中编译/制作相当数量的文件领域来自 ..\\src\\Framework\...\\%.c.

似乎只要它至少有 2 个文件夹深,Makefile 就可以工作。例如:src\\test.o 不编译但 src\\tester\\test.o 会编译。

我的错误如下:

make: *** No rule to make target 'src\\control.o', needed by 'proj.elf'. Stop.

但我还有以下规则,它是从目标 all 的依赖项执行的:

src\\%.o: ..\\src\\%.c

只要 ..\\src\\%.c 存在,就应该生成 src\\control.o。


当我使用 make -d all 时,我注意到它以

结尾

No implicit rule found for 'src\\control.o'.

Finished prerequisites of target file 'src\\control.o'.

Must remake target 'src\\control.o'

如果有人有解决方案来完成这项工作,我将很高兴听到!

最佳答案

我发现了问题。显然,即使是 GNUWin32 make 也使用 Unix 风格的文件名作为目标和依赖项,但为了使用 mkdir 命令,您必须使用 Windows 风格的文件名。

test/windows/%.o: ../test/windows/%.c

mkdir test\windows\make_this_dir\

我希望这对遇到类似问题的人有所帮助。

关于c - 在 makefile 中找不到隐式规则,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46309993/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com