Batch builds in Visual Studio 6 for a VC ++ project

In VS 2008 and VS 2010, you can easily create a solution and change the “Solution Configuration”. We can choose which configuration each project will be built when we run the assembly at the solution level.

Is such a tool available in Visual Studio 6.0?

In my experience: when a configuration is selected (create a list) in VS6 for a VC ++ project, dependencies (which themselves have several configurations defined) are created in some random order. Cannot manage dependency configurations during build.

"Batch Build" is suitable for this, but not so flexible for my purpose.

I tried various options in VS6. I hope I get it.

+4
source share
1 answer

Here is a link to the MSDEV command line. https://msdn.microsoft.com/en-us/library/aa699274(v=vs.60).aspx

There is a way to manage dependency building. Specify /NORECURSE and no dependencies will be created.

I use /REBUILD with /NORECURSE so as not to create dependencies on them.

And I build each project one at a time in the workspace in the bat file, doing chdir in a subdirectory and calling MSDEV only for this subproject:

 msdev myproject.dsp /MAKE "myproject - Win32 Debug" /REBUILD /NORECURSE > Build.log 

Then I cd into the next project directory one at a time.

On the other hand, I had difficulties for several years when NMAKE did not work for my specific tasks. It turns out that the PATH environment variable inside MSDEV (Visual Studio 6.0) is different from the command shell PATH environment variable on which you run NMAKE on.

The path used by the MSDEV shell is %PATH% at the time Visual Studio 6 was installed. We use this and set the registry as needed for MSDEV to get the correct path setting when switching our software versions; however, this does not help update %PATH% . The MSDEV path may be requested with a script request. I do not have my example.

This is why assemblies in MSDEV sometimes work when assemblies using the command line do not, because the path to the DLL is different, and any custom assembly steps that run .exe will not work outside of the MSDEV environment unless the path is updated.

I have a script somewhere where registry queries are read to extract the MSDEV path and update the shell PATH, so nmake batch scripts will work the same as inside the MSDEV shell. The problem with RECORD DELAY is that the returned arguments differ from each other in different versions of Windows (XP / SERVER2003 / ...).

One thing I just discovered is that Incredibuild works with the old VS6.0 MSDEV IDE. This is a game changer. It distributes assemblies. I appreciate it now, but it can be useful to anyone who is waiting for the long builds of VS6.0.

+1
source

All Articles