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

C++ 在我的静态库的不同头文件中重复使用的头文件,c++,winsock,static-libraries,header-files,C++,Winsock,Static Libraries,Header Files,由于我得到了多个定期重用的类和实用程序函数,我开始为这些部分创建一个静态库 到目前为止,大多数带有类和函数声明的头文件都包含相同的“全局”头文件,而它本身包含其他头文件(如等) 对我来说,当用户只“主动”使用获得类的头文件时,强迫用户包含多个头文件会让人感到恼火 因此,我战胜了全局头文件,并将所有必要的头文件都包含到我自己的头文件中 这在某种程度上起了作用,但我遇到了一些有关Winsock的问题: 您需要#定义WIN32_LEAN_和_MEAN,并确保用户不会在我的那些标题之前包含,否则会发生多

由于我得到了多个定期重用的类和实用程序函数,我开始为这些部分创建一个静态库

到目前为止,大多数带有类和函数声明的头文件都包含相同的
“全局”头文件
,而它本身包含其他头文件(如
等)

对我来说,当用户只“主动”使用获得类的头文件时,强迫用户包含多个头文件会让人感到恼火

因此,我战胜了全局头文件,并将所有必要的头文件都包含到我自己的头文件中

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

您需要#定义
WIN32_LEAN_和_MEAN
,并确保用户不会在我的那些标题之前包含,否则会发生多次重新定义:/


这就是为什么我想问你怎么做?或者您可以想到什么方法?

我认为您只能选择定义一个通用头文件,所有其他头文件都包含该头文件,并定义WIN32\u LEAN\u和\u MEAN

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


至于
的包含,我认为它不会被多次包含,因为它有“包含卫士”。

但是我必须“发送”所有的头文件。剩下的唯一一个选择,我看到的是mergin的标题。嗯,我还想在windows.h和winsock文件周围设置一个头保护。大多数库都有一个可执行文件和一个包含所有头文件的目录,所以我不必担心这一点。。无论如何,您可以选择…:-)