如何在C ++应用程序中包含EXTERNAL PCH文件?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在C ++应用程序中包含EXTERNAL PCH文件?相关的知识,希望对你有一定的参考价值。

我开发了一个名为COMMON的C ++ DLL,它包含一些外部类和函数。我还开发了一个使用这个DLL的C ++程序。

当我构建C ++程序时,我包含了我的COMMON DLL中的一些文件。所以我在项目的属性中添加了包含所有.h文件(大约20个文件)的foldername。

这很好用。

现在,我有以下问题

如何自动生成包含所有其他包含的“大”包含,以便在C ++程序中,我可以直接使用这个包含?

#include "dll-name.h" // include only one BIG DLL file

在构建DLL之后,我可以轻松地分发它,只提供3个文件

dll-name.LIB
dll-name.DLL
dll-name.H

我的问题有解决方案吗?

如何生成这个“大”DLL包含文件?

PS:我在没有CLI或CLR的情况下使用Visual Studio 2017和纯C ++ 17。

答案

您可以向用户发送主标头的预处理版本。或者将所有标题发送给用户。

我假设你想要第一个选择。确保您有一个COMMON.h文件,其中包含您需要的所有内容。

如果您正在使用visual studio IDE打开命令行并执行操作。

CL /P /C COMMON.h 

结果将是一个巨大的.i文件重命名为.h文件。如果你想保留一些预处理器指令,现在将它们复制到文件中。使用您的DLL或LIB发送它

这样您就不必将所有标题发送给用户,只需发送一个。

以上是关于如何在C ++应用程序中包含EXTERNAL PCH文件?的主要内容,如果未能解决你的问题,请参考以下文章

如何在连接字符串中包含与号?

如何在应用系列中包含函数参数? [复制]

如何在 HWND 中包含 Windows Word 文档?

如何在 Cocoa 应用程序中包含 OpenCV?

如何在应用程序中包含 Visual C++ 再分发

如何在 swift 中包含多个功能的完成处理程序?