1

我使用 CubeMX 生成了一个 ThreadX 项目,它为我提供了 .s 和 .S 文件。使用 make 构建时,我得到 .S 文件的“无规则制作目标”,但没有 .s 文件(目标文件创建成功)......这些类型的文件有什么区别,是将 .S 文件构建到目标文件中需要额外的步骤吗?我了解到这个错误主要是编译器找不到文件的时候出现的,但是我已经多次验证了路径。

4

1 回答 1

1

不,您应该如何构建它们没有区别,gcc -c可以在其中任何一个上生成.o.

GCC 处理是否预处理它们的差异。

显然,您的 Makefile 需要有一个规则来.o从 a.s.S. 在最简单的情况下,只需复制 的模式规则,因为在一般情况下定义一个不区分大小写的模式规则或简单地为一个规则列出两种可能的模式%.o: %.S似乎非常不方便。

于 2022-03-01T10:41:34.457 回答