VS2008 C ++编译器一直要求构建项目

时间:2011-02-16 15:26:54

标签: c++ visual-studio-2008 idl midl

  

可能重复:
  Visual studio keeps building everything

我有一个项目,其中包含一个生成.c文件的idl文件,该文件包含在同一项目的另一个文件中。

我构建这个项目,一切都很好,然后我尝试运行项目,我被告知项目已经过时,我想建立它。如果我选择yes来构建它,则会再次编译idl。

如果没有设置VS项目设置从不提示我进行构建,有没有办法停止此操作?

1 个答案:

答案 0 :(得分:2)

一旦构建了.idl文件,打开它的属性并启用“从构建中排除”。

如果您更新文件,可以通过在解决方案资源管理器中选择文件并选择“编译”(我的设置中的快捷键是Ctrl + F7,但这可能会有所不同)来手动构建文件。

如果您未在版本控制系统中包含生成的文件,则还需要手动重建.idl文件。这种情况尤其会导致很多混淆 - 可能值得在版本控制下包含生成的文件。

另一种选择是创建自定义构建工具(或预构建事件),它将.idl文件的最后修改日期/时间与输出文件的上次修改日期/时间进行比较,然后调用MIDL if需要。这是VS用于确定是否运行CL的行为,但它不用于MIDL,并且据我所知,无法在VC ++ 2008项目文件中启用。