c++ - 同一文件中的冲突类型错误?

标签 c++ vxworks

我正在构建一个 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/

相关文章:

c++ - 获取 LNK2005,我看不出我能做些什么来解决这个问题

c++ - 为什么使用 clang 的 2 阶段命令行构建不会生成 dSYM 目录?

c++ - 使用 Boost.build 包含一个库

c++ - C++中如何计算时间?

eclipse - 使用 cmake 为 vxworks 构建 OPCUA

c - VxWorks 解释器 - 创建结构

c++ - 当函数缺少返回值时,编译器会生成警告而不是错误?

c++ - 编译器为函数指定 always_inline

c - 在 VxWorks RTP 上设置和获取系统时间

c++ - 在两个任务之间使用互斥信号量