系统文件struct重定义问题

| 在Mac OS X上,我的代码中包含/usr/include/net/bpf.h和/usr/include/pcap/bpf.h。现在这两个都定义了一些相同的结构,因此我得到了重新定义错误。我需要这两个文件,因为它们都有我需要的其他一些代码。 我的问题是 如何在无需修改任何系统文件的情况下在代码中使用此功能?有没有一种方法可以让我在代码中执行此操作,而不必简​​单地创建此头文件的副本并使用它呢? 我不想修改这些文件,因为还有其他应用程序仅包含这两个文件之一,并且需要定义结构。 提前致谢。     
已邀请:
        在某些情况下,某些头文件的位置带有ѭ0。例如在Windows中,如果要使用winsock2并安装windows.h,则需要执行以下操作:
#define WIN32_LEAN_AND_MEAN
#include <windows.h>
#include <winsock2.h>
否则,windows.h中包含的winsock1的定义将与winsock2冲突。但是我怀疑
pbf.h
就是这种情况。在Unix中,这种模式不会发生太多。 最后的选择是确定您需要更多的头文件,删除第二个头文件,然后手动添加您缺少的定义,然后从第二个文件中复制粘贴。您可能需要编写一个小的脚本,该脚本根据函数名称为您执行复制粘贴操作,因此它不会那么脆弱。     

要回复问题请先登录注册