C++ CLMP并行组?
使用/MP时,如果文件使用相同的编译选项,则项目中所有.cpp的编译将并行完成。 例如:C++ CLMP并行组?,c++,visual-studio-2010,msbuild,C++,Visual Studio 2010,Msbuild,使用/MP时,如果文件使用相同的编译选项,则项目中所有.cpp的编译将并行完成。 例如: stdafx.cpp//创建PCH a、 cpp//使用PCH b、 cpp//使用PCH c、 cpp//使用PCH d、 cpp//不使用PCH 将按如下方式构建: stdafx 然后(a+b+c)(并行) 然后d 是否有可能同时启动不同的组? 我希望这样: (stdafx+d)并联 然后(a+b+c)并联 可能吗 这个问题并不特定于预编译头。 如果我想编译{a.cpp(默认),b.cpp(
- stdafx.cpp//创建PCH
- a、 cpp//使用PCH
- b、 cpp//使用PCH
- c、 cpp//使用PCH
- d、 cpp//不使用PCH
- stdafx李>
- 然后(a+b+c)(并行)李>
- 然后d
- (stdafx+d)并联李>
- 然后(a+b+c)并联
如果我想编译{a.cpp(默认),b.cpp(警告为错误)},同样适用。a、 cpp将首先完成,然后b.cpp我能想到的唯一答案是将这些不同的分组放在单独的项目中,并利用并行构建项目的能力。但是,这会使设置和使用预编译头变得复杂。这是一种可能的解决方法是的,但它是唯一的解决方法吗?我正在从事一个遗留项目,这种重构不是微不足道的(遗憾的是)。它是我能想到的唯一一个,不一定是唯一的一个。只是RTFM,/Yc选项被明确列为与/MP不兼容。它不仅仅是Yc,它是所有类型的选项。无论是“生成预编译头”、“使用预编译头”、“警告为错误”、“clr”。。。每组“选项集”将按顺序编译。。没有理由这么做。