在静态库的不同头文件中重复使用的头文件

Header files repeatedly used in different header files in my static library

本文关键字:文件 静态      更新时间:2023-10-16

由于我有多个经常重用的类和实用程序函数,因此我开始为这些部分创建一个静态库。

到目前为止,大多数带有类和函数声明的头文件#包括相同的"global" header file本身#includes其他头文件(如<string> <windows.h>等)。

对于我来说,当用户只"积极地"使用获得类的头文件时,强迫用户包含多个头文件是很烦人的。

所以我放弃了全局头文件,并将所有必要的头文件包含到我自己的头文件中。

这在某种程度上起作用,但我遇到了一些关于Winsock的问题:

你需要#define WIN32_LEAN_AND_MEAN,并确保用户不会在我的头文件之前使用#include <windows.h>,否则会发生多次重定义:/.

这就是为什么我想问你你会怎么做?或者你能想到什么方法?

我认为您只能选择定义所有其他头文件包含的通用头文件,并定义WIN32_LEAN_AND_MEAN。

否则,您可以指示用户在他自己的文件中包含这样的定义,但这很容易出错。

关于<windows.h>的包含,我认为它不会被包含多次,因为它有"包含守卫"