C ++ builds are built for continuous integration

We have a rather large C ++ project built on VS2005, which can take up to 40 minutes to compile and build from scratch, and another 10 minutes for installers as the software is built in both 32-bit and in a 64-bit configuration. I would like to reduce this time to about 10 minutes, at least, since I consider it important to quickly receive feedback when using continuous integration.

When using incremental builds, deleting the final related files, but not the .obj files, the build process seems to be much faster, however errors appear as if they appear here and there, for example .dlls that cannot be loaded. From a clean build, everything works fine. I use TeamCity as the CI system of my choice.

Perhaps the behavior of incremental builds is better in later versions of Visual Studio, and this may be a good motivation to upgrade? Has anyone encountered similar problems?

+3
source share
4 answers

Good question.

When I built the CI system for a large C ++ project for Microsoft Visual Studio 2003/2005/2008, I also posed problems with incremental strings. Especially when using precompiled headers, it does not seem to work under any circumstances to make incremental builds. I would be interested to hear if anyone has a detailed explanation for this, i.e. What works and what doesn’t.

, , , , , , , . , , . , , , , compimise.

, , , , , , , , , .

:

  • include vs. forward declaration
  • , .

, , , .

+1

, , , IO. . , , , (Enable Incremental Linking - No). , , - ( - ). , VS 2005. IO, , .

+1

I never noticed the behavior myself, but I would first suspect Generation Time Time Code Generation Code. For continuous integration, you can skip this.

I should also mention IncrediBuild. Throwing hardware into a problem, especially the hardware that you already have, is a quick win.

+1
source

All Articles