Xcode文件系统

我使用
Xcode作为我的OS X构建的一部分,但由于它不是唯一使用的IDE,因此可以直接从文件系统添加文件.

据我所知,有两种方法可以添加文件夹:

>文件夹引用会选择文件系统上的所有更改,但不会将任何文件注册为源.
>递归复制允许构建文件,但我需要不断维护文件结构

我想知道是否有办法设置Xcode来构建文件夹引用的一部分所有文件或失败,如果有一个快速脚本来自动修复文件系统差异.

最佳答案 我提出了可用的概念验证解决方案,但需要在生产中使用一些工作.基本上,我设置了一个新的“外部目标”,它将给定目录中的所有源文件编译成静态库.然后将静态库链接到主应用程序.

详细地:

>在项目目录中创建一个目录(让我们称之为’Code’)并在其中放入一些源代码.
>在Code目录中创建一个Makefile,将源代码编译为静态库.我看起来像this.*****
>创建一个外部目标(让我们称之为’ExternalCode’)并将其指向源和Makefile所在的Code目录.
>构建ExternalCode并在项目的Products区域中创建对已编译静态库(ExternalCode.a)的引用.获取参考信息并将路径类型更改为“相对于建筑产品”.
>确保ExternalCode.a位于主目标的“Link With Binary Libraries”部分.
>将ExternalCode目标添加为主目标的依赖项
>将Code目录添加到主目标的“User Header Search Paths”.

现在,当您将一些源文件放入“代码”时,Xcode应该重新编译所有内容.我创建了demo project作为概念证明.要查看它,请将B.h / m从’tmp’目录复制到’Codes’目录中.

*警告:我提供的Makefile过于简单.如果要在实际项目中使用它,则需要花一些时间来使所有构建标志正确.你必须决定手动管理构建过程是否值得,而不是让Xcode为你处理大部分细节.并注意其中有空白的路径; Make不能很好地处理它们.

点赞