始终在Visual Studio中使用多核(/ MP)标志?

dwj*_*dwj 13 visual-studio visual-c++

我在我的主构建系统上使用Visual Studio 2008.我一直在玩另一个Visual Studio 2010.除非您在编译器开关中指定/ MP开关,否则该工具似乎仍然只想在编译时使用一个内核(请参阅如何在Visual Studio IDE(2008)中打开多CPU/Core C++编译?).我必须为每个项目做这件事.有没有办法让VS总是这样做?

ZAB*_*ZAB 16

创建环境变量"CL"并将其设置为"/ MP".微软编译器cl.exe总是在此变量前面加上命令行标志.

某些编译器功能和选项(如#import)与/ MP标志不兼容.您需要将/ MP1添加到代码中使用#import的项目中.这将禁用这些项目的/ MP.


Jam*_*lis 6

您可以创建所有项目包含的属性表,并/MP在该属性表中设置标志.

在Visual Studio 2010中,您可以将它放在Microsoft.Cpp.Win32.user属性表中,默认情况下它包含在新项目中(它具有旧的Visual C++目录和其中定义的其他默认设置).我不知道修改默认属性表真的是一个好主意,但它肯定是一个选项.