如何在C++应用程序中包括外部PCH文件

How to include EXTERNAL PCH file in C++ application?

本文关键字:包括外 PCH 文件 应用程序 C++      更新时间:2023-10-16

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

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

这运作良好。

现在,我有以下问题

如何自动生成包含所有其他包含

的"大"包含,以便在C++程序中,我可以直接使用此包含?

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

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

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

我的问题有解决方案吗?

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

PS:我使用Visual Studio 2017和纯C++17,没有CLI或CLR。

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

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

如果您使用的是 Visual Studio IDE打开命令行并执行。

CL /P /C COMMON.h 

结果将是一个巨大的.i文件,将其重命名为.h文件。如果要保留某些预处理器指令,请立即将它们复制到文件中。与您的 DLL 或 LIB 一起发送

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