配置 Xcode 4 工作区以在需要时构建依赖项的正确方法是什么?

2024-03-27

我的情况很简单,一个工作区有两个兄弟项目:一个主(iOS)应用程序和一个构建该应用程序使用的多个静态库目标的项目。

以下是我配置构建的方式:

  • 将主应用程序的构建设置中的“用户标题搜索路径”指向库项目位置(通过源树)
  • 在我的应用程序的主要目标的编辑器 - >构建阶段 - >“将二进制与库链接”部分中,添加了我想要使用的库产品。
  • 在方案中,勾选“查找隐式依赖项”

清理(​​并删除派生数据)后,构建在主项目的构建过程中出现了此错误:

ld: library not found for -lChipmunk
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Command /Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/clang failed with exit code 1

果然,如果我查看新创建的派生数据,找到的唯一对象文件是主应用程序的,而不是库的。对 *.o 文件的广泛“查找”并没有揭示任何相关内容,因此库不会丢失,它们肯定不会被构建。

一些补充要点:

  • 当我在 Apple 开发论坛上询问此问题时,有人建议我应该在主目标的“构建阶段”->“目标依赖项”编辑器中添加显式依赖项。但是您只能将此处的 deps 添加到same项目或子项目;就我而言,我有应用程序和库项目作为工作场所的兄弟姐妹。
  • 如果我在主构建之前手动构建每个库,一切都很好。

Update:

我刚刚找到了一个解决方法,即将所有部门的目标添加到主应用程序方案的“构建”部分中。我之前曾尝试过此操作,但没有成功,但没有意识到我可以在列表中拖动目标以获得正确的构建顺序。现在,无论是在清理之后还是在库或主应用程序源发生更改之后,构建都会以正确的顺序发生。

我将问题留在这里,因为肯定不需要手动整理构建顺序。我的设置方式一定有问题。


编辑方案(交换构建目标、取消/选中“并行化构建”和/或“查找隐式依赖项”)对我来说不起作用。在静态库中进行任何代码更改后,我仍然必须清理构建项目。搜索开发论坛,终于找到了这个答案 https://devforums.apple.com/message/419328#419328,这创造了奇迹。

确保身份和类型检查器显示并选择应用程序项目(而不是库)中的 libWhatever.a 文件。如果您看到位置:相对于项目[或相对于组],这就是您的问题。

  1. 单击相对于项目并将其更改为相对于构建 产品。
  2. 这将改变链接的类型,但它仍然会 被打破。
  3. 单击“定位”按钮并找到输出文件。

通过以下方式将静态库添加到现有项目中构建阶段 -> 将二进制文件与库链接自动使其“相对于组”(如果两者是同一工作区中的兄弟姐妹)。按照上述方式更改其位置可以解决构建依赖性问题,并且在项目导航器中,您的 .a 文件应以黑色字母(而不是红色)显示。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

配置 Xcode 4 工作区以在需要时构建依赖项的正确方法是什么? 的相关文章

  • CGContextSaveGState 无效上下文

    我正在开发一个 iOS 应用程序 它使用实时摄像头扫描条形码和二维码 然而有时我会遇到错误 这些错误不会使应用程序崩溃 但修复它们可能是个好主意 这些是错误
  • Xcode 的 Organizer 窗口中没有“Use for Development”

    我今天注册了 Apple 的 99 美元 iOS 开发计划 在 Xcode 中的证书 标识符和配置文件下 无论我单击什么 它都会告诉我 将您的设备连接到 Mac 然后在 Xcode 的管理器窗口中单击 用于开发 使用与您的 iOS 开发者计
  • 找不到“folly/Portability.h”文件 React 库

    我的 React Native 项目在 Xcode 上遇到构建失败 错误是 folly Portability h file not found 在过去的几天里 我一直在尝试自己解决这个问题 但无法解决 RN info React Nati
  • 可以在 iOS 应用程序中全局禁用旋转吗?

    我有一个由很多视图控制器组成的应用程序 在项目摘要中 我已将纵向方向设置为唯一支持的设备方向 然而 该应用程序在横向旋转时仍然会变得混乱 我的问题是 有没有办法通过应用程序委托或其他方式全局禁用自动旋转 或者我是否必须进入所有视图控制器并添
  • 为 UILabel 设置不同字体的问题

    我想将字体大小和姓氏设置为 titleLabel Helvetica Neue UltraLight titleLabel setFont UIFont fontWithName Helvetica Neue UltraLight size
  • 如何告诉 Xcode 我的 info.plist 和 .pch 文件在哪里

    我重命名了我的项目及其文件 现在 Xcode 仍在寻找旧的 info plist 文件 在哪里设置所需的 plist 和 pch 文件的位置 在我的 项目信息 窗口中 打包 下有一个 Info Plist 文件项 但它是空白的 当我尝试不同
  • 阻止 WKWebView 中加载的 url 中的广告

    我正在 webView 中加载 url 现在我想阻止 webView 中的 url 中的广告 我怎样才能实现这个目标 webVw loadRequest NSURLRequest requestWithURL NSURL URLWithSt
  • 停止 ant 脚本而不导致构建失败

    在我的 ant 脚本中 我想在满足条件时退出 停止执行构建 而不会失败 我尝试过使用
  • 如何更改 Xcode 中的编译器

    我正在 Xcode 4 6 3 中编译 C 代码 但我不知道我正在使用哪个编译器 我需要使用 gcc 4 2 提前致谢 If you really需要更改为 gcc 您可以在构建设置中执行此操作
  • React Native iOS Release 构建停留在旧代码上,但 Debug 构建工作正常

    当我尝试构建我的 React Native 应用程序时XCode in Release mode在将其投入生产之前进行检查 它是否会陷入旧代码中 无论我对 JS 文件进行什么更改 它都不会执行此操作 在调试模式下 这种情况不会发生 只是正常
  • 如何与开发团队成员一起在我的设备上测试 iPhone 应用程序?

    我是一名 iOS 初学者 我收到团队成员的邀请 所以我接受了邀请 现在我正在尝试在我的设备上测试 iPhone 应用程序 但我在 Xcode 帐户中看不到团队帐户 只有我的免费开发者帐户 个人团队 如果我与团队帐户成员一起测试该怎么办 No
  • 使用 use_frameworks 签名错误!和独特的配置文件

    我将最初讨论中的最后一篇文章粘贴到此处 https github com CocoaPods CocoaPods issues 4331 https github com CocoaPods CocoaPods issues 4331 这个
  • UIWebView 中横向模式的 Youtube 视频

    我的申请不是为了风景而做的 但是当我打开我的 YouTube 频道时UIWeb视图和一个用户发布视频 它出现在肖像中 我想让它在用户旋转 iPhone 时以横向模式显示 How to 启用横向模式如本例所示 我知道有一些 肮脏的黑客 可以做
  • 当我打开在 Xcode 4 中创建的 Google 地图项目时,Xcode 5 会警告我的架构设置

    我刚刚更新到新发布的 Xcode 5 我正在开发一个使用 Google 地图 iOS SDK 的 iOS 应用程序 当我在 Xcode 4 中开发时 我改变了我的Architectures在我的项目设置中进行设置 按照 Google 的步骤
  • 如何在 Xcode 中使用“-force_load”链接库?

    我的其他库不允许我设置 ObjC 或 all load 标志 所以我需要使用 force load 来链接我的库 我的项目下有 GoogleOpenSource framework 和 GooglePlus framework 那么如何正确
  • Jenkins 多分支管道 - 在分支中配置属性?

    我们已经使用 Jenkins 多分支管道插件成功设置了构建管道 该插件在大多数情况下都运行良好 但是我们遇到了一个困扰我们的问题 Jenkinsfile包含一组属性 这些属性也显示在 UI 中 但如何为各个分支设置默认值 这就是我们的属性定
  • 如何使用延迟位置 iOS 6?

    我正在尝试使用新的 iOS 6 延迟位置更新功能 但不断收到此错误 didFinishDeferredUpdatesWithError Error Domain kCLErrorDomain Code 11 操作无法完成 kCLErrorD
  • 如何处理 iPhone 4s、5 和 6 屏幕尺寸,并使所有内容在所有设备上看起来相同

    我正在使用 Xcode 6 1 并且在我拥有的视图之一中包含许多标签 然而 这些标签在不同的设备中看起来不同 尽管我已经对所有标签添加了约束 但仍然面临同样的问题 如何在所有设备上获得相同的视图布局 如何使每个标签的宽度和高度灵活 取决于屏
  • AFNetworking 无法编译

    我完全无法尝试使用 AFNetworking 在模拟器上运行项目 我之前在其他项目中使用过这种依赖关系 所以我不明白这里出了什么问题 首先 我尝试运行项目时出现错误 Undefined symbols for architecture x8
  • 在 RealityKit 中更改对象的枢轴点

    我希望立方体仅在 z 轴正方向上缩放 现在 当我缩放它时 它总是围绕其中心缩放 因此 为此我必须更改对象的锚点 我知道在 SceneKit 中有一个可以使用的枢轴属性 在 RealityKit 中也有办法做到这一点吗 我发现了一个相当简单的

随机推荐

  • 在 IntelliJ IDEA 中编写并运行 pyspark

    我正在尝试在 IntelliJ 中使用 Pyspark 但我不知道如何正确安装它 设置项目 我可以在 IntelliJ 中使用 Python 并且可以使用 pyspark shell 但我无法告诉 IntelliJ 如何查找 Spark 文
  • 如何在Python中导入其他项目的函数?

    我在一个项目中有一些代码 我想在另一个项目中重用它们 我需要做什么 在两个文件夹中 才能执行此操作 目录结构类似于 Foo Project1 file1 py file2 py Bar Project2 fileX py fileY py
  • 在单个查询中获取分页行和总计数

    核心要求 查找 a 的最新条目person id by submission date对于指定的过滤条件type plan status 可能有更多这样的过滤器 但无论如何 按提交日期返回最新的逻辑是相同的 有两个主要用途 一是在 UI 中
  • Android setContentView 还是 Intents?

    我有一个非常简单的 2 屏幕 Android 应用程序 简单地通过 setContentView 切换布局有什么缺点吗 或者我应该使用意图吗 如果出现问题 我不想打扰我的应用程序 另一件需要考虑的事情是 活动形成了stack http de
  • 从重叠的日期范围中获取不同的连续日期范围

    我需要从重叠日期列表中获取彼此不重叠的日期范围列表 并获取重叠期间的硬币总和 我尝试过用谷歌搜索一个例子 但到目前为止还没有运气 我可能没有使用正确的关键词 我有一个重叠日期的列表 1 1 2018 31 1 2018 80 7 1 201
  • 有没有一种方法可以使用 JavaScript 在网页中漂亮地打印 JSON?

    在我看来 漂亮打印 JSON 是一个足够简单的任务 JavaScript 应该能够处理它 有没有人编写过 或运行过 JavaScript 函数来执行此操作 执行此操作的一个简单方法是执行 JSON stringify data null w
  • 导入 go 包时出现问题

    这是我的代码结构 addition summing sum prg go addition go go mod go mod 的内容 module addition go 1 14 sum prg go 的内容 package summin
  • 如何在 Haskell 中查找运行时的核心数量

    Haskell 是否有一种方法可以确定运行时机器上存在的 CPU 核心数量 是的 有这样的方法 来自 现实世界 Haskell 的代码 http book realworldhaskell org read concurrent and m
  • 如何在eclipse中导入Jdeveloper java项目?

    我在 Jdeveloper 中有一个 java 项目 但我想将该项目迁移到 eclipse java 项目 你知道该怎么做吗 或者我必须手动导入它吗 提前致谢 通常 如果项目是基于 Web 的项目或 java 项目 则它有其结构 您应该能够
  • 无法在 VS2015 Enterprise 中使用 Microsoft Fakes - 缺少 COR_PROFILER

    我正在尝试在 VS 2015 Enterprise 中使用 Microsoft Fakes 我什至无法运行任何测试 我没有 testsettings 或 runsettings 文件 简单的测试项目参考 Microsoft QualityT
  • 与 Objective C 相比,Swift SHA256 加密返回不同的加密字符串

    我正在将一些代码从 Objective C 迁移到 Swift 我想在 swift 中使用 SHA 256 算法用密钥加密字符串 但与 Objective C 实现的 swift 代码相比 返回不同的加密字符串 两个代码看起来相同 只是语法
  • 自定义文件格式和编解码器?

    我已经被编解码器问题弄乱了好几天了 但仍然看不到全局 这是我第一次处理音频 视频格式和编解码器 所以我真的需要一些帮助 这是工作 我正在编写几个负责编码和解码自定义 mpeg 文件的组件 在标准解 压缩过程 对于音频和视频 之上 我将实现一
  • 使用假会话测试控制器

    我想为我的控制器编写测试 Result changeAction callAction controllers routes ref Users changePassword assertThat status changeAction i
  • 将 Xtext 与 StringTemplate 代码生成器链接

    在我当前的项目中 我试图链接用 xtext 编写的 DSL 规范和用 StringTemplate 编写的代码生成器 例如 我的 DSL 规范的语法如下 我通过 xText 提供的优秀编辑器工具输入此信息 structs TempStruc
  • 如何在WinRT下并行线程中执行C++函数?

    我有一个 C 代码 它使用 beginthreadex Windows 方法在线程中执行函数 现在我想将其移植到 WinRT 组件以将其包含在 Windows Phone 应用程序中 但Windows Phone不支持 beginthrea
  • 如何在 Excel VBA 中对字符串进行 URL 编码?

    是否有内置方法可以在 Excel VBA 中对字符串进行 URL 编码 或者我是否需要手动执行此功能 不 没有任何内置内容 直到 Excel 2013 看到这个答案 https stackoverflow com a 24301379 18
  • Java COM 桥

    我有一个超低延迟程序 需要与 Windows COM 组件交互 最快的方法是什么 使用像 JACOB 这样的 COM 桥或编写本机 COM 库并使用像 ZeroMQ 这样的消息总线发送消息 如果您使用 ZeroMQ 您将处理两个进程 将消息
  • 使用 Guid 和自定义表名称以及 Asp.net Identity 1.1 Alpha 创建自定义实现

    我从不同的问题中得出结论 在我提出问题时在下面列出 我想做五件事 据我从这些问题和答案中可以看出 所有这些都可以在我的 OnModelCreating 方法中完成 Preface 我正在使用 Asp Net Identity 1 1 alp
  • 叉子和线程有什么区别?

    谁能解释一下叉子和线程之间的区别 分叉给你一个全新的进程 它是当前进程的副本 具有相同的代码段 当内存映像发生变化时 通常这是由于两个进程的不同行为 您会分离内存映像 写入时复制 但可执行代码保持不变 任务不会共享内存 除非它们使用某些内存
  • 配置 Xcode 4 工作区以在需要时构建依赖项的正确方法是什么?

    我的情况很简单 一个工作区有两个兄弟项目 一个主 iOS 应用程序和一个构建该应用程序使用的多个静态库目标的项目 以下是我配置构建的方式 将主应用程序的构建设置中的 用户标题搜索路径 指向库项目位置 通过源树 在我的应用程序的主要目标的编辑