预编译头文件与DLL的解决方案。 无法打开预编译头文件(Precompiled headers

2019-08-18 13:11发布

这工作没有错误时,这个解决方案工作过的.lib文件而不是.dll文件。

我有我所有的项目,除了一个正在使用的预编译头, 没有错误 。 预编译的头被称为“LudoGlobal.h”。 我想最后一个项目,这个预编译头(它存在于一个单独的“核心”,项目)的链接,但我发现了以下错误:

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

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

我知道LudoSound.pch不存在。 我的假设下,它可能被创建时LudoSound编译,YESNO?

Answer 1:

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



Answer 2:

我有这个问题后,我删除,并从与我的项目重新添加stdafx.cpp。 解:

  • stdafx.cpp需要有属性创建预编译头(/ YC),这台stdafx.cpp作为一个负责创建从stdafx.h中的.PCH
  • 项目(并与其中的所有文件)可以有属性使用预编译头(/羽),他们可以使用.PCH通过stdafx.cpp汇编创建


Answer 3:

尝试重建项目在一个新的,只需要复制用品文件。



Answer 4:

LudoSound.pch没有再生。 仅删除它是在文件夹中,并再次建立。



文章来源: Precompiled headers with DLL solutions. Cannot open precompiled header file