带有DLL解决方案的预编译头文件。无法打开预编译的头文件

时间:2009-10-15 18:13:57

标签: c++ dll visual-studio-2005 precompiled-headers

当此解决方案使用.lib文件而不是.dll文件时,这没有错误。

我的所有项目除了当前使用预编译头文件没有错误之外的项目。预编译的头文件名为“ LudoGlobal.h ”。我试图将最后一个项目链接到这个预编译的头文件(它存在于一个单独的“Core”项目中),但是我收到以下错误:

  

错误4致命错误C1083:无法打开   预编译头文件:   '.... \输出\ LudoSound \调试\ LudoSound.pch':   没有这样的文件或   目录ludosoundmanager.cpp 1

表示每个.cpp文件。为什么是这样?我该如何解决?

我意识到LudoSound.pch不存在。我假设它可能是在LudoSound编译时创建的,是的吗?

4 个答案:

答案 0 :(得分:24)

您是否在项目中使用“自动生成”或“使用预编译的头”,并在一个cpp文件上“创建预编译的头”?后者更有效,但我已经看到项目上的每个文件配置被意外重置,因此“stdafx.cpp”(或其他)文件不再生成预编译头。

答案 1 :(得分:3)

我从&中删除并重新添加stdafx.cpp后出现此问题到我的项目。 解决方案:

  • stdafx.cpp需要具有Create PrecompiledHeader(/ Yc)属性,这将stdafx.cpp设置为负责从stdafx.h创建.pch的那个
  • 项目(以及其中的所有文件)可以具有属性Use PrecompiledHeader(/ Yu),它们可以使用由stdafx.cpp编译创建的.pch

答案 2 :(得分:0)

尝试以新的方式重建项目,仅复制所需的文件。

答案 3 :(得分:0)

LudoSound.pch没有重生。只删除它所在的文件夹并重新构建。