在静态库的不同头文件中重复使用的头文件
Header files repeatedly used in different header files in my static library
由于我有多个经常重用的类和实用程序函数,因此我开始为这些部分创建一个静态库。
到目前为止,大多数带有类和函数声明的头文件#包括相同的"global" header file
本身#includes
其他头文件(如<string>
<windows.h>
等)。
对于我来说,当用户只"积极地"使用获得类的头文件时,强迫用户包含多个头文件是很烦人的。
所以我放弃了全局头文件,并将所有必要的头文件包含到我自己的头文件中。
这在某种程度上起作用,但我遇到了一些关于Winsock
的问题:
你需要#define WIN32_LEAN_AND_MEAN
,并确保用户不会在我的头文件之前使用#include <windows.h>
,否则会发生多次重定义:/.
这就是为什么我想问你你会怎么做?或者你能想到什么方法?
我认为您只能选择定义所有其他头文件包含的通用头文件,并定义WIN32_LEAN_AND_MEAN。
否则,您可以指示用户在他自己的文件中包含这样的定义,但这很容易出错。
关于<windows.h>
的包含,我认为它不会被包含多次,因为它有"包含守卫"
相关文章:
- 使用gcc从静态链接的文件中查找可选符号
- 在 .h 文件中的类中声明静态变量和在.cpp文件中声明"global"变量有什么区别
- 停止cmake target_link_libraries将插件中静态库的两个对象文件链接到静态库本身
- Android 在编译二进制文件时重建静态库
- 给定一个C++嵌套的私有结构类型,是否有从文件范围静态函数访问它的策略
- 我可以读取静态对象中的文件.txt吗?C++
- 复制文件流C++静态变量
- 调用在 HXX 文件中声明的静态数据成员
- 链接时,不同静态库中的同一对象文件
- 如何在 linux 可执行文件中使用静态库
- 内联函数的函数本地静态对象是否在共享对象文件之间共享?
- 如果包含映射的静态库与可执行文件和动态库链接,静态映射(变量)是否会被多次释放?
- 在链接可执行文件之前查找静态库未解析的依赖项
- LNK2019 在文件中调用静态成员的方法时出错.cpp
- 访问从 CPP 文件到其他头文件的静态变量
- 无法将静态二进制文件链接到 #include
- 如何将 cpp 文件中的静态函数公开给其他文件
- 从 .so/.o 文件中获取 C/cpp 中的静态库列表
- 从内联函数引用文件静态变量
- IDL文件-静态链接或动态链接