简体   繁体   中英

IncrediBuild compile some projects of Visual Studio 2010/2012 solution in one thread

We try to upgrade our VS2008 solution consist of ~20 projects to VS2010, but there is a problem with building some of them. I tried different versions of VS(2010, 2012, 2013. even with vc90 compiler version) / IncrediBuild(4.61, 5.0, 6.1) / Windows(7, 8) but nothing helps. All possible options of projects and Incredi were changed too. Custom build rules and steps doesn't set for these projects. Please, tell me someone what can I do to solve the problem.

I couldn't load images yet, so this is a link to build graph screenshot .

Upd : I've tried to compile solution in VS2013 without IncrediBuild, but with /MP option, and have got identically the same - some files of project were compiled sequentiallly and in the same order, so Incredi is innocent and the problem only in our project and how the VS works with it.

The latest public version of IncrediBuild introduced a feature which is exactly what you are asking for - truly out-of-order \\ optimized parallelization. This new feature, allows IncrediBuild to execute Visual Studio tasks in parallel even in scenarios where Visual Studio does not know how to do that. Meaning that with IncrediBuild, every task that is not REALLY dependent on a previous task, will be executed in parallel to it.

So in a scenario as described above, although filling the fixed output object file names results in Visual Studio (and MSBuild) compiling these files in a sequential manner, IncrediBuild will compile them in parallel.

In addition to that, in a scenario where project B depends on project A, Visual Studio will only compile sources from project B AFTER linking of A is done (although most of the time Project B compilations don't depend on project A compilations, only the link steps of these projects depend upon each other), IncrediBuild will be able to compile both project A and project B in parallel, following by a link of A and a link for B.

Hope this shed some light on the topic.

Disclaimer: the writer is CTO at IncrediBuild

So, the problem was that some of cpp-files had fixed output object file names. When these parameters were cleared compilation for them begun parallel. But in VS2008 everything was fine even with such parameters properties

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM