Xcode 文件夹和组混乱

Xcode folders and groups confusion

我正在使用 Xcode(使用 C++),我的项目布局(在文件系统中,而不是在 Xcode 中)如下所示:

SubfolderA

-file_A_1, file_A_2

SubfolderB

-file_B_1, file_B_2

现在我已经通过群组在 Xcode 中设置了这个结构。因此,当我想在 file_B_1 中包含 file_A_2 时,我在 file_B_1 中写入 #include "file_A_2"

有什么方法可以使包含文件看起来像 #include "/SubfolderA/file_A_2",这样我就可以很容易地看到 directory/subfolder 包含的文件属于什么?

查看正在发生的事情的一种方法是查看 Build Log 并展开编译行 sourcefile.m。查看传递给编译器的 -I 选项。

如果您不喜欢,可以在 Build Settings > Header Search Paths 中添加源代码树以包含 $(ProjectDir)/srcroot 并使其 递归 ,这样可以避免单独添加每个子文件夹。

根据我的经验,这从来都不是必需的,但是,据我所知。

就 Xcode 文件夹而言,如果添加顶级源文件夹,则在将它们添加到文件系统时会自动添加所有子文件夹,从而省去了将它们保存在文件系统中的麻烦同步。但是,您可能需要在 Source Files 组下添加顶级文件夹才能正常工作。

令人惊讶的是,在 Xcode 的 Build Settings 中,我已经添加到 User Header Search Paths 到我的项目的非递归路径。这解决了我的问题。

当我在尝试通过

#include "MyGroup/MyHeader.h"

原来项目结构和文件系统不同步,所以我不得不从项目中删除我的组,把它放在 Finder 中的正确位置,然后将它拖放回项目中在正确的地方,它对我有用。

我不确定这是否有必要,但我也已经设置了我的应用程序的工作目录,因为我正在做一些游戏编程并且需要能够加载 .png 并制作纹理。