gpt4 book ai didi

iphone - 为什么找不到静态库头?

转载 作者:行者123 更新时间:2023-12-03 18:53:36 25 4
gpt4 key购买 nike

我用过Clint Harris' tutorial在项目之间设置代码共享,一切都在我的计算机上按预期运行。但在我同事的机器上,编译器在构建时似乎没有从静态库项目中找到头文件。

我的同事通过克隆 git 存储库获得了我的项目。我们已经检查了所有相关的构建标志和 XCode 设置 n 次,但该项目只是拒绝在他的机器上编译。

这是我让我的同事做的,大部分是从教程中复制和粘贴的:

  1. 确保项目目录的完整路径中没有空格。
  2. 在项目目录中,创建另一个名为“build_output”的文件夹。
  3. 在 XCode 中,在“XCode > 首选项”下选择“构建”选项卡,并将“将构建项目放入”设置为“自定义位置”,并指定您创建的公共(public)构建目录的路径。
  4. 将“放置中间构建文件”设置为“使用构建产品”。
  5. 选择“Source Trees”选项卡,然后通过单击“+”按钮并填写各列来创建新的 Source Tree 变量。在“设置名称”和“显示名称”中,输入[创建静态库的共享项目的名称]。在路径中,您输入框架文件夹的完整路径。

按照这些步骤,使用静态库的项目应该在他的机器上与我的机器上进行相同的编译。但事实并非如此。基本上,他得到的错误是:

error: TheFrameworkHeader.h: No such file or directory

然后是由于缺少 header 而导致的一串其他错误。

有什么策略可以解决这个问题吗?或者谁有类似的经历并可以分享一些来之不易的知识?我总结的说明中是否缺少任何内容?编译静态库时,是否需要在 Copy Headers 构建阶段设置头文件的角色?

最佳答案

尽管有一些有用的建议,但我从未弄清楚这个问题,但这里为处于类似情况的任何人提供了一些信息。我通过将原始项目一分为二来创建库和依赖项目。起初,库和应用程序只是同一项目中的两个目标。后来,我将该应用程序移至一个单独的项目。一切似乎都正常,我将这两个项目都推送到了远程 git 存储库。然而,当在其他计算机上克隆这些库时,找不到库 header 。

后来,我发现当我在原来的计算机上克隆项目时,也出现了同样的错误。经过一番努力,我将其确定为一个可怕的细节:依赖项目文件夹的名称!(即包含应用程序的项目,而不是库。)而不是.xcodeproject 包,不是应用程序标识符,而是包含文件夹的名称。一旦我改变了这一点,一切都会正常。如果我将其更改回原始名称(在任何计算机上),则再次找不到 header 。

如果有人对此有任何见解,请发表答案!

编辑:自从我发布此内容以来,另一个项目也出现了同样的问题,并且再次仅重命名包含 .xcodeproject 文件夹的文件夹就解决了问题。

关于iphone - 为什么找不到静态库头?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1095452/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com