我正在构建一个 VxWorks 镜像,它一直卡在一个特定的 .cpp 文件上。这是错误:
C:\\Tornado2.2\\target\\src\\pmccommon\\pmcvxcommon.h:144: conflicting types for `typedef struct PMCDATA_STRUCT PMCDATA_STRUCT'
C:\\Tornado2.2\\target\\src\\pmccommon\\pmcvxcommon.h:144: previous declaration as `typedef struct PMCDATA_STRUCT PMCDATA_STRUCT'
C:\\Tornado2.2\\target\\src\\pmccommon\\pmcvxcommon.h:205: conflicting types for `typedef struct VX_DMA_MEMORY_MAP VX_DMA_MEMORY_MAP'
C:\\Tornado2.2\\target\\src\\pmccommon\\pmcvxcommon.h:205: previous declaration as `typedef struct VX_DMA_MEMORY_MAP VX_DMA_MEMORY_MAP'
C:\\Tornado2.2\\target\\src\\pmccommon\\pmcvxcommon.h:230: new declaration `struct PMCDATA_STRUCT * GetPmc(int)'
C:\\Tornado2.2\\target\\src\\pmccommon\\pmcvxcommon.h:230: ambiguates old declaration `struct PMCDATA_STRUCT * GetPmc(int)'
我以前见过类型冲突错误,但从来没有在与自身进行比较时遇到过!这意味着什么?
这是 pmcvxcommon.h 的第 127-144 行:
typedef struct
{
>>lines 129-143
}PMCDATA_STRUCT;
PMCDATA_STRUCT 未在别处声明。这与 VX_DMA_MEMORY_MAP 相同。
有什么想法吗?
最佳答案
尝试修改pmcvxcommon.h文件如下:
#ifndef PMCVXCOMMON_H
#define PMCVXCOMMON_H
... original content of file ...
#endif
关于c++ - 同一文件中的冲突类型错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10856660/