使用来自不同项目的预编译头

发布于 2024-12-07 12:18:45 字数 1186 浏览 0 评论 0原文

我在 Visual Studio 2010 中有两个项目,我想共享预编译头输出 .pch(i) 文件:一个构建它,另一个应该只使用它。

清理并重建 Project1 后,将创建 .pchi 文件。

Rebuild Project2 做了一件奇怪的事情,它删除了 .pchi 文件,然后抱怨找不到它进行编译。

我应该更改什么来阻止此行为(可能在文件“Microsoft.Cpp.x64.Intel C++ Compiler XE 12.0.targets”中?)?

我已将文件设置为只读,然后 Project2 Build 当然会抱怨:

C:\程序文件 (x86)\MSBuild\Microsoft.Cpp\v4.0\Platforms\x64\PlatformToolsets\Intel C++ 编译器 XE 12.1\Microsoft.Cpp.x64.Intel C++ 编译器 XE 12.1.targets(84,5):错误 MSB3061:无法删除文件“.pchi”。 对路径“.pchi”的访问被拒绝。

在第 84 行,.targets 文件有

<删除 Condition="'%(ClCompile.DebugInformationFormat)' != '' 并且 '%(ClCompile.DebugInformationFormat)' != 'OldStyle' 并且 '%(ClCompile.ProgramDataBaseFileName)' != '' 并且 !Exists(%(ClCompile.ProgramDataBaseFileName)) 和 '%(ClCompile.UseMSVC)'!='true' 和 '%(ClCompile.InterproceduralOptimization)'!='MultiFile' 和 '%(ClCompile.LevelOfStaticAnalysis)'!='简要' 和 '%(ClCompile.LevelOfStaticAnalysis)'!='中' 且 '%(ClCompile.LevelOfStaticAnalysis)'!='详细'" 文件 =“%(ClCompile.PrecompiledHeaderOutputFile)i”/>

I have two projects in Visual Studio 2010 that I want to share the precompiled header outputs .pch(i) file: one builds it and the other should only use it.

After Clean, and Rebuild Project1, the .pchi file is created.

Rebuild Project2 does a strange thing, it Deletes the .pchi file and then complains that can't find it for compilation.

What should I change to stop this behaviour (possibly in the file "Microsoft.Cpp.x64.Intel C++ Compiler XE 12.0.targets"?) ?

I've set the file to read-only, then of course Project2 Build complains:

C:\Program Files
(x86)\MSBuild\Microsoft.Cpp\v4.0\Platforms\x64\PlatformToolsets\Intel
C++ Compiler XE 12.1\Microsoft.Cpp.x64.Intel C++ Compiler XE
12.1.targets(84,5): error MSB3061: Unable to delete file ".pchi".
Access to the path '
.pchi' is denied.

at the line#84 the .targets file has

< Delete Condition="'%(ClCompile.DebugInformationFormat)' != '' and
'%(ClCompile.DebugInformationFormat)' != 'OldStyle' and
'%(ClCompile.ProgramDataBaseFileName)' != '' and
!Exists(%(ClCompile.ProgramDataBaseFileName))
and '%(ClCompile.UseMSVC)'!='true' and
'%(ClCompile.InterproceduralOptimization)'!='MultiFile' and
'%(ClCompile.LevelOfStaticAnalysis)'!='Brief' and
'%(ClCompile.LevelOfStaticAnalysis)'!='Medium' and
'%(ClCompile.LevelOfStaticAnalysis)'!='Verbose'"
Files="%(ClCompile.PrecompiledHeaderOutputFile)i" />

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文