1

我在 Windows 7 上使用 Eclipse (Juno) + CDT 来驱动 GCC,并自动生成生成文件。在我使用 GCC__DATE____TIME__预处理器宏在我的项目配置头文件中添加构建日期/时间戳之前工作得很好。

在干净的构建中,这些宏工作得很好——但在增量构建中,Make 不会重新构建关联的目标文件;它只是直接跳转到链接。

我尝试将 Windows 等效touch为预构建步骤(此处描述:https ://stackoverflow.com/questions/51435/windows-version-of-the-unix-touch-command ),但 Make 仍然跳过该文件。还尝试“触摸”包含标题的源文件;仍然没有骰子。

我如何告诉 Make 始终重建依赖于特定标头的任何文件,即使是增量构建?

4

2 回答 2

3

将标题标记为.PHONY. 这将确保它始终被认为不是最新的:

.PHONY: particular_header.h
于 2013-08-23T21:56:41.613 回答
1

结果我需要删除目标文件作为预构建步骤,如下所述:

强制 Eclipse CDT makefile 在编译之前清理文件(这可能是该问题的重复)

于 2013-08-23T22:14:22.190 回答