什么会导致我的源文件变灰并在文件图标上加上删除线?

What would cause my source files to be greyed out with a strikethrough through the file icon?

我正在尝试使用 Eclipse Mars 为 STM32F4 Discovery 开发板构建应用程序。特别是我想使用 SPI 库。我在我的主程序中包含了相应的头文件,但我收到错误消息,指出我尝试使用的函数未定义。

稍微戳了一下,我发现该项目的大部分源文件都是灰色的,图标上有一条横线。

我能找到的大多数是人们在谈论整个文件夹是如何变灰的。我尝试寻找 'greyed out icon'、'strike through' 以及灰色、图标和栏的任意组合,但无济于事。有谁知道文件变灰并被删除意味着什么?

greyed/striked 输出文件表示该文件已从构建中排除。

到 exclude/include,右键单击该文件并选择 资源配置 --> *从构建中排除..."。

您应该看到这样的 GUI:

并且您应该能够更新排除了哪些构建配置。

.cproject (edit/view xml)

如果您要进行大量编辑,有时您可能会发现查看甚至编辑 .cproject xml 文件很有用。例如,这里有一些排除项,如我的 .cproject

中所列
<sourceEntries>
    <entry excluding="final.c" flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="othersrc"/>
    <entry excluding="dir1/third.c|other.c|hello.c" flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="src"/>
</sourceEntries>