Xcode 文件夹和组混淆

Xcode folders and groups confusion

提问人:ibe 提问时间:4/8/2016 更新时间:8/12/2020 访问量:393

问:

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

子文件夹A

-file_A_1,file_A_2

子文件夹B

-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"

C++ Xcode 包括

评论

0赞 john elemans 4/8/2016
确定。只需使用 #include“../SubfolderA/file“,而不是以”/“开头,它指的是文件系统的根目录。
0赞 ibe 4/8/2016
@johnelemans是的,但是如果项目是在多台机器上开发的?

答:

0赞 trojanfoe 4/8/2016 #1

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

如果不符合您的喜好,可以在“生成设置”>“标头搜索路径”中添加源代码树以包含并使其递归,这样您就不必单独添加每个子文件夹。$(ProjectDir)/srcroot

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

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

0赞 ibe 4/8/2016 #2

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

0赞 Matthew McCord 8/12/2020 #3

当我在尝试将标题包含在组中时遇到问题时,我最终来到了这里

#include "MyGroup/MyHeader.h"

事实证明,项目结构和文件系统不同步,所以我只需要从项目中删除我的组,将其放在Finder中的正确位置,然后将其拖放回项目中的正确位置,这对我有用。

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