在Visual Studio 10项目中同时使用/YC和/MP
Using /YC and /MP together in a Visual Studio 10 project
我正试图绕过/YC和/MP互斥的限制。我想利用预编译头和多进程编译。
到目前为止,我的答案是创建2个项目,而不是1个。第一个是pch生成库,仅由stdafx.h和stdafx.cpp组成
该库成功生成pch文件!附带说明一下,pch库项目还指定了指向其stdafx.h的/YU和引用输出pch文件的/Fp。
我的第二个项目是我的主要可执行文件。它已经指定了/MP,但没有为任何文件指定/YC,并且不包含stdafx.h或stdafx.cpp。相反,我将项目的/YU设置为pch库的stdafx.h,将/Fp设置为由pch库生成的pch。然后,我将pch库设置为exe项目的依赖项。我还在exe项目上设置了/FI,以便在每个编译单元中强制包含来自pch库的stdafx.h。
我的问题是,虽然pch库确实生成了pch文件,并且exe项目似乎正确地引用了生成的pch文件。但一旦exe项目开始构建(在一些与pch无关的预构建步骤之后),它就会删除pch库生成的pch。我想这是因为它认为,在指定了/Fp的情况下,即使没有指定/YC,项目也会生成该文件。
我是不是做错了什么?我是不是少了一步。有没有办法防止exe项目在开始构建之前删除我的pch文件?
如有任何帮助,我们将不胜感激!
试试这个:如果我使用/Yc ,visual C++会检查它是否需要重新生成它的pch吗
您基本上为stdafx.cpp设置/Yc,为所有其他*.cpp文件设置/Yu+/MP。
要分别为每个文件设置标志,请右键单击解决方案资源管理器上的cpp文件,然后选择"属性"。
相关文章:
- 打开 MP 三用于减少的循环
- 混合开放MP/MPI代码中的多线程发送/接收时出错
- 具有C++绑定和开放 MP 阻塞问题的零 MQ.为什么
- 开放MP;嵌套循环之间的操作
- 为什么串行运行是更快的并行打开MP
- " 'yc' can not be used as a function"错误C++
- 该代码用于绘制NACA机翼.打印YC时,我收到了限制错误
- 带有GMP的CodeBlocks,segfault with<<操作员和MP*_Class
- CLCompile /MP parallel group?
- 打开 MP 导致内存泄漏
- 如果我使用/Yc,visual C++会检查它是否需要重新生成它的pch吗
- Visual Studio 中的 "Create Precompiled Header" (/Yc) 和 "Use Precompiled Header" (/Yu) 有什么区别?
- GNU MP Bignum库的数值问题
- 使用open mp时发生编译错误
- 我可以报告开放mp任务的进度吗?
- 如何使用GCC-MP-4.7在OS X上编译ASL
- 我如何在 Xcode 中使用指定的编译器 GCC-MP-4.7
- 打开 MP 许可证信息
- /MP 在 VS2012 中未启用 OpenMP 支持
- 在Visual Studio 10项目中同时使用/YC和/MP