我有一个项目,其中包含一个生成.c文件的idl文件,该文件包含在同一项目的另一个文件中。
我构建这个项目,一切都很好,然后我尝试运行项目,我被告知项目已经过时,我想建立它。如果我选择yes来构建它,则会再次编译idl。
如果没有设置VS项目设置从不提示我进行构建,有没有办法停止此操作?
答案 0 :(得分:2)
一旦构建了.idl文件,打开它的属性并启用“从构建中排除”。
如果您更新文件,可以通过在解决方案资源管理器中选择文件并选择“编译”(我的设置中的快捷键是Ctrl + F7,但这可能会有所不同)来手动构建文件。
如果您未在版本控制系统中包含生成的文件,则还需要手动重建.idl文件。这种情况尤其会导致很多混淆 - 可能值得在版本控制下包含生成的文件。
另一种选择是创建自定义构建工具(或预构建事件),它将.idl文件的最后修改日期/时间与输出文件的上次修改日期/时间进行比较,然后调用MIDL if需要。这是VS用于确定是否运行CL的行为,但它不用于MIDL,并且据我所知,无法在VC ++ 2008项目文件中启用。