【发布时间】:2026-02-02 11:55:01
【问题描述】:
我使用Clint Harris' tutorial 来设置项目之间的代码共享,并且在我的计算机上一切正常。但是在我同事的机器上,编译器在构建时似乎没有从静态库项目中找到头文件。
我的同事通过克隆 git 存储库获得了我的项目。我们已经检查了所有相关的构建标志和 XCode 设置 n 次,但项目只是拒绝在他的机器上编译。
这是我要求我的同事做的,主要是从教程中复制和粘贴的:
- 确保项目目录的完整路径中没有空格。
- 在项目目录中,创建另一个名为“build_output”的文件夹。
- 在 XCode 中,在“XCode > Preferences”下选择“Building”选项卡并将“Place Build Projects in”设置为“Customized location”,并指定您创建的公共构建目录的路径。
- 将“将中间构建文件放入”设置为“使用构建产品”。
- 选择“Source Trees”选项卡并通过单击“+”按钮并填写列来创建一个新的 Source Tree 变量。在“设置名称”和“显示名称”中,输入 [创建静态库的共享项目的名称]。在路径中,您放置了框架文件夹的完整路径。
按照这些步骤,使用静态库的项目应该在他的机器上编译和在我的机器上一样。但事实并非如此。基本上,他得到的错误是:
error: TheFrameworkHeader.h: No such file or directory
然后是由于缺少标头而导致的一串其他错误。
有解决此问题的策略吗?或者任何有类似经历并且可以分享一些来之不易的知识的人?我总结的说明中是否缺少任何内容?编译静态库的时候需要在Copy Headers build阶段设置header的角色吗?
【问题讨论】:
标签: iphone xcode gcc static-libraries xcodebuild