如何在预构建中编译自动生成的C文件?

Edu*_*gro 6 c eclipse file auto-generate prebuild

我有一个Eclipse项目,我需要在编译之前自动生成一些文件.我不想把这个自动生成的文件放在我的存储库中,所以每次编译projetct时我都会执行预构建来自动生成这些文件.

问题是这个自动生成的文件是*.c和*.h文件,并且在我第一次编译项目时,会发生以下情况(按此顺序):

  • pre-build:自动生成一些*.c和*.h
  • build:eclipse不会构建这个自动生成的文件

如果我再次编译,将编译这些文件.也许这是因为eclipse将编译的文件的发现过程.在开始编译之前,我们没有这个自动生成的*.c和*.h文件.

在我们第二次编译时,我们已经有了这个自动生成的文件,因此编译了这些文件.

eno*_*ram 5

如果要完全控制何时发生自定义构建步骤,需要在其后刷新哪些文件,环境,工作目录等,请不要将其指定为简单的预构建步骤.转到项目属性 - >构建器 - >新建...并选择"程序".

在生成的对话框中,您可以更好地控制工具的执行.例如,您可以在保存XML文件时运行工具,并且可以告诉eclipse在运行时刷新所有自动生成的文件.


Ste*_*iak 0

如果我正确理解你的问题,似乎第一次构建项目会自动生成必要的 *.c 和 *.h 源文件,但项目将无法完全构建,因为无法立即找到这些源文件。经过短暂的延迟后,Eclipse 会识别出有新文件添加到项目中,然后您可以进行第二次构建,一切都会正常进行。那个听起来是对的吗?

假设是这种情况,我立即想到的是编写某种脚本或 makefile,以便所有这些操作都可以通过单个操作以正确的顺序发生。根据您想要把手弄脏的程度,这里有一个链接;)

http://help.eclipse.org/galileo/index.jsp?topic=/org.eclipse.cdt.doc.user/concepts/cdt_c_makefile.htm