启用多处理器编译--加快VS2013编译

但是却发现VS2013编译速度太慢,代码生成时要花很长时间才能完成。今天偶然查看项目属性页,问题终于解决了~~~~在项目属性里设置“启用多处理器编译”。如下图所示


依次打开项目“属性“==》”配置属性“==》”C/C++(或其它语言)“==》”常规“,最后一项,多处理器编译选择是。

官方解释如下:

        /MP 选项在命令行上以减少总时间编译源文件。/MP 选项使编译器创建一个或多个自身的副本,每个副本都位于单独的进程中。然后这些副本同时编译源文件。因此,可显著减少生成源文件的总时间。

http://technet.microsoft.com/zh-cn/sysinternals/bb385193

 

如此设置之后,编译速度会显著提升,笔者亲测验证~~~

 

cl : 命令行 warning D9030: “/Gm”与多处理不兼容;忽略 /MP 开关

 

在启用多处理器编译后可能会出现以下问题:

      cl : 命令行 warning D9030: “/Gm”与多处理不兼容;忽略 /MP 开关

此时/MP 开关被关闭,不能使用多线程编译,生成速度又会变得巨慢无比,/Gm是最小生成,解决方法是打开项目属性页,把启用最小生成设为否。

官方解释如下:

   操作与多处理不兼容;忽略 /MP 开关

   编译器选项(在此警告消息中称为操作)与  /MP 编译器选项不兼容。因此,编译器会忽略 /MP 选项并继续进行编译。

http://technet.microsoft.com/zh-cn/bb384776

 

其中/Gm和/MP都是cl.exe命令行参数,参见http://blog.csdn.net/lijie45655/article/details/6730885

 

关于其他的多线程编译技术可以参考博文

Xoreax IncrediBuild  

http://zhouruijun163.blog.163.com/blog/static/107715620119219580479/


阅读更多

没有更多推荐了,返回首页