1
There are two switches that must be set in order to make VS build using multithreading (both are project-specific):
project properties->C/C++->General->Multi-processor Compilation set to: Yes (/MP)
project properties->C/C++->Code Generation->Enable Minimal Rebuild set to: No (/Gm-)
Check also Your Tools->Options->Projects and Solutions->VC++ Project Settings->Maximum concurrent C++ compilations setting. Default value is 0 which enables VS to use as many concurret compilations as possible.
2
Necrolis’ comment seems the correct solution.
/MP (Build with Multiple Processes)
The /MP
option causes the compiler to create one or more copies of itself, each in a separate process. These copies simultaneously compile the source files. Consequently, the total time to build the source files can be significantly reduced.
Note that you can set it at project level (and thus it will apply to all files in it) as well as to the individual files, useful for instance if you need to use #import.
In particular, /MP
is usually not compatible with precompiled headers, or sources using #import; in this case, you can still set /MP flag on the project, and then clear it on the single files (usually, stdafx.cpp, and any file using #import).
3
Here is what I did
1) Go to Tools->Options than under “Project And Solutions”->”Build And Run” for me it had the number of cores. Although at first i thought this was all i needed to do but it isnt
2) Right click your project and select properties. Under “configuration properties”->”C/C++”->”Command Line” enter /MP4 where 4 is the number of cores you have. You’ll get a waring about flags not being compatible so we have another step
3) Go to Under “configuration properties”->”C/C++”->”Code Generation” there is “Enable minimum rebuild”. Change that to no.
Rebuild and you should see multiple CL processes in your task manager.