我已经开发了一个名为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:我使用Visual Studio 2017和不带CLI或CLR的纯C ++ 17。
答案 0 :(得分:0)
您可以向用户发送主标题的预处理版本。 或将所有标头发送给用户。
我假设您想要第一个选择。 确保您拥有一个COMMON.h文件,其中包含您需要的所有内容。
如果使用的是Visual Studio IDE 打开命令行并执行。
CL /P /C COMMON.h
结果将是一个巨大的.i文件,将其重命名为.h文件。 如果要保留一些预处理程序指令,请将其立即复制到文件中。 与您的DLL或LIB一起发送
这样,您不必将所有标头发送给用户,只需要发送一个即可。