【问题标题】:How to set Eclipse gcc compiler to ignore specific errors or change from error to warning如何设置 Eclipse gcc 编译器以忽略特定错误或从错误变为警告
【发布时间】: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


    【解决方案1】:

    您的编译器不太可能让您将错误更改为警告。不过,大多数人会让你反其道而行之。您是否将 -Werror 传递给您的 windows/eclipse 系统中的编译器?听起来您的某些包含警卫不起作用。如果您提供更多详细信息,我们可能会为您提供帮助。

    【讨论】:

    • 我希望可以忽略它。我正在使用 gcc 选项:-I"C:\Program Files\asn1c\skiletons" -O0 -g3 -Wall -c -fmessage-length=0
    • @Nate - gcc 版本不同吗?也许您在 Windows 上使用的那个更挑剔。我会注意到重新定义 typedef,即使是之前定义的相同,也是无效的 C。
    • 我使用的 windows gcc 很有可能将其视为错误而不是 mac 上的警告。我会做一些深入研究。感谢您确认重新定义为无效 C。
    猜你喜欢
    • 2018-12-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-01
    • 2011-05-16
    • 1970-01-01
    • 2021-05-09
    相关资源
    最近更新 更多