我正在处理一个庞大的项目,其中有一个文件A.h,其代码中有一行。
typedef unsigned __int16 Elf64_Half;
由于我正在Linux上构建并使用dlinfo
函数,因此必须在我的项目中包含link.h
文件。这就创建了一个冲突,因为我有两个具有相同名称Elf64_Half
的typedef(Linux的link.h
包含elftypes.h
,它也具有:typedef unsigned short Elf64_Half;
)。
在这种情况下,我该怎么办?我唯一的选择是更改a.h
中的typedef吗?请记住,这并不容易,因为该项目非常庞大,我需要在多个地方进行更改。
是否有一种方法可以取消typedef或类似的操作?
#include <link.h>
,这样不是更简单吗?你只需要修改一个文件,所有内容都会自动变成一致的类型。 - Rob Kennedy