如何检测 gcc 中不存在的文件的#includes

Posted

技术标签:

【中文标题】如何检测 gcc 中不存在的文件的#includes【英文标题】:How to detect #includes of nonexistant files in gcc 【发布时间】:2009-07-16 20:28:14 【问题描述】:

我正在使用 Xcode 修改后的 gcc,我注意到有时当我包含一个不存在的文件时,它只是默默地跳过它。我怎样才能让它给我一个警告?

【问题讨论】:

您能否发布具体示例(编译器调用和源文件)而不是释义?您确定正在处理 #include,并且包含路径中没有具有该名称的文件吗? 【参考方案1】:

很可能构建系统,即 xcode 构建器没有重新编译某些源文件,因此您不会收到错误。很难说为什么。我们使用 Scons 进行跨平台构建。

【讨论】:

【参考方案2】:

听起来像一个错误。如果是这样,那么修复它可能是最好的方法。

编辑:我忘了,Xcode 没有打开。没关系。

【讨论】:

gcc 是 GPL - 如果他们修改和分发它,源必须可用 好点,我猜它只是专有的IDE? - 你确定他们没有通过 GPL“链接异常”解决这个问题吗? developer.apple.com/opensource/tools/xcodetools2.2.html 您链接到的页面上指向“链接异常”的链接不起作用。但无论如何,GPL 非常明确,如果您分发修改后的 GPL 代码,您必须向您的被许可方提供源代码 - 没有例外。 Xcode 的 (3.1.3) gcc (4.2) 开源位于opensource.apple.com/source/gcc/gcc-5493,但我不认为 gcc 是这里的问题。在我们看到 OP 实际上在做什么之前,这是在黑暗中拍摄。【参考方案3】:

我很难相信任何版本的 gcc 都不会在 #include 失败时产生错误消息,如果那是您所要求的。您是否尝试过从命令行构建代码?

【讨论】:

【参考方案4】:

恐怕我无法用一个较小的项目来复制这个问题。我/正在收到内部链接器图错误。项目或 Xcode 中出现严重问题。

不管是什么问题,使用 Xcode 3.0 已经解决了。

【讨论】:

【参考方案5】:

这通常属于配置脚本中的内容。它会检查一些标题并选择最适合的标题。

【讨论】:

以上是关于如何检测 gcc 中不存在的文件的#includes的主要内容,如果未能解决你的问题,请参考以下文章

在 gcc4x 中工作的复杂函数在 gcc8x 中不起作用

VC++如何检测文件是不是存在

如何指定GCC的默认头文件路径

为啥只有注释更改的两个程序二进制文件在 gcc 中不完全匹配?

Web.xml警告“对Web内容中不存在的主文件名引用”

在ubuntu系统中如何用GCC编译运行一个C程序?