【发布时间】:2023-03-06 17:46:01
【问题描述】:
我需要构建一个包含许多 C 源文件和头文件的项目。该项目在带有警告的 xcode 中编译(这很好),但是当我尝试在 Windows XP 上的 Eclipse 中使用 GNU gcc C 编译器编译它时,我得到了许多“重新声明”和“嵌套重新定义”错误。这些错误都引用了几个不同头文件中枚举数的 typedef。
这些头文件中的每一个在整个文件周围都有适当的#ifndef/#define/#endif 标签,但是它们 typedef 相同的枚举数(想想将 typedef 复制/粘贴到多个头中),这样一个头文件将 #include 其他几个每个头文件都有相同的枚举数 typedef 和同名。
我被告知在 xcode 中编译时会出现警告,并且不允许我修改现有代码。
当它在 xcode 中编译时出现警告,我试图找到一种方法让 Eclipse 忽略这些错误或将它们更改为要编译的警告,但没有成功。编译器使用第一个还是最后一个定义/声明并不重要。它们是相同的重新定义/重新声明。
有没有办法做到这一点?
编辑:使用错误标志 -Wall 进行编译
【问题讨论】:
标签: c eclipse gcc redefinition redeclaration