Question

Possible Duplicate:
Visual studio keeps building everything

I have a project that includes an idl file that generates a .c file that is included in another file of the same project.

I build this project and all is fine, I then try to run the project and I am told the project is out of date and would I like to build it. If I select yes to build it the idl is compiled again.

Is there any way of stopping this without setting the VS project setting to never prompt me for a build?

Was it helpful?

Solution

Once you've built the .idl file once, open it's properties and enable "Exclude from Build".

If you update the file, you can build it manually by selecting the file in Solution Explorer and choosing "Compile" (the shortcut is Ctrl+F7 on my setup, but this may vary).

If you don't include the generated files in your version control system, a fresh checkout will also need to manually rebuild the .idl file. This case in particular can cause a lot of confusion - it may be worth including the generated files under version control.

Another option is to create a custom build tool (or pre-build event), which would compare the last modified date/time of the .idl file with the last modified date/time of the output files and then call MIDL if required. This is the behaviour that VS uses to determine whether or not to run CL, but it is not used for MIDL and, as far as I know, cannot be enabled in VC++ 2008 project files.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top