静态库之路来自地狱的噩梦

2024-02-22

这就是重点。我创建了一个子项目(静态库)。该库编译良好。没有错误。当我将此库包含在项目中并从项目中的该库导入标头时,该库无法编译,因为它找不到属于自身的路径。

在网上学习了一系列有关如何创建静态库并将其嵌入到项目中的教程后,我不知道哪个是正确的,因为我已经尝试了所有方法,但所有方法都失败了,而且有些方法有所不同。

这是库的设置方式:


静态库

构建设置:

  1. 公共头文件夹路径 =$(BUILT_PRODUCTS_DIR)
  2. 标头搜索路径 =$(SRCROOT) (递归)

构建阶段

COPY FILES = 1 文件,myLibrary.h 基本上是空的(当我使用静态库模板启动库时由 xcode 创建。

no 添加复制标题 phase


主要项目

构建设置

  1. 标头搜索路径 = 空
  2. 用户标头搜索路径 =$(BUILT_PRODUCTS_DIR) (递归)
  3. 始终搜索用户路径=YES

构建阶段

  1. Yes, myLibrary.a is on target dependencies

令我惊讶的是,该库单独编译得很好,但是当放入项目中时,无法找到属于自己的库的标头。

注意:我还尝试在库上创建一个复制标头阶段,公开所有内容.h在那个图书馆上,但它也失败了。

这是一个错误的示例:

/Users/mike/Library/Developer/Xcode/DerivedData/MyApp-dnaimaovscreasadhmvgttwjnabc/Build/Products/Debug-iphoneos/include/myLibrary/ccTypes.h:39:9:
fatal error: 'Platforms/CCGL.h' file not found
#import "Platforms/CCGL.h"

我花了两天时间试图解决这个噩梦。

有什么想法吗?

我已将示例项目上传到here http://dfiles.eu/files/vj7egy9ig and here http://www.sendspace.com/file/dfvs09


下载示例项目后,我通过进行以下更改使其在几分钟内运行。

首先,您需要添加一个条目MyProject标题搜索路径下的目标的构建设置,以便诸如HelloWorldLayer.h, which #import "cocos2d.h",知道在哪里可以找到该文件。

在下面Header Search Paths, 我进入了../MyStaticLibrary/MyStaticLibrary/libs/**如下图所示:

这解决了预处理器无法从文件中找到必要的源文件的问题MyStaticLibrary, 为了MyProject项目,但编译后出现缺少符号的错误。我需要添加构建的libMyStaticLibrary.a to the Link Binary With Libraries步骤如下图所示:

之后,该项目编译良好。

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

静态库之路来自地狱的噩梦 的相关文章

  • SwiftUI DisclosureGroup 单独展开每个部分

    我正在使用 Foreach 和 DisclosureGroup 来显示数据 每个部分都可以展开 折叠 然而 它们都在同时扩展 折叠 如何单独展开 折叠每个部分 struct TasksTabView View State private v
  • iOS 应用程序测试。应用程序安装失败。找不到代码签名[关闭]

    Closed 这个问题需要调试细节 help minimal reproducible example 目前不接受答案 我尝试在多个 iOS 设备上安装我的应用程序 但这件事不让我这么做 我想知道 问题是什么以及我应该如何解决它 就我而言
  • iOS 和 Firebase 自动续订订阅

    我的问题 我很难找到一种使用 Firebase 在 iOS 中安全管理自动续订订阅的方法 购买流程 User1 purchases a subscription 使用订阅标识符更新 Firebase 上 User1 的帐户 用于解锁内容 存
  • 在 iOS 上构建 WebRtc

    我按照以下说明成功地在 MAC 上构建了 WebRTC http www webrtc org reference getting started http www webrtc org reference getting started
  • NSObject的retain方法是原子的吗?

    NSObject的retain方法是原子的吗 例如 当从两个不同的线程保留同一个对象时 是否允许保留计数增加两次 或者保留计数是否可以只增加一次 Thanks NSObject以及对象分配和保留计数函数都是线程安全的 请参阅附录 A 线程安
  • 如何使用 Objective-C 解析 JSON?

    我是 iPhone 新手 谁能告诉我解析此数据并获取活动详细信息 名字和姓氏的步骤 error false data activity id 35336 user id 1 user first name Chandra Bhusan us
  • 以编程方式更改自动布局约束后视图未更新

    事先我必须说 我实际上得到了我想要的可见效果 但不是以令人满意的方式 因为现在需要 打破 约束而不是正确更新 我有一个 ViewController 其中包含一个 UITableView 那个的高度tableView可以从 0 不可见 到它
  • 尽早检测有问题的 XIB 视图

    我的笔尖名称有一个拼写错误 当我推向导航控制器时 它在代码中被破坏了 弄清楚它并没有花太长时间 但我认为最好尽早断言格式良好 以便更容易弄清楚 问题是它不是零 它只是无法从笔尖正确地形成自己 在 initWithNib 之后是否有更好的断言
  • 从 iPhone 传输视频

    我可以从 iPhone 的相机中获取单独的帧 我需要的是一种将它们与声音打包以便流式传输到服务器的方法 收到文件后发送它们并不是什么大问题 我遇到问题的是流媒体文件的生成 我一直在尝试让 FFMpeg 工作 但运气不佳 有人对我如何实现这一
  • 如何将 RGB 值转换为十六进制字符串 iOS swift

    我想将 RGB 值转换为十六进制字符串 我将十六进制转换为 RGB 如下所示 但反之亦然 func hexStringToRGB hexString String gt red CGFloat green CGFloat blue CGFl
  • 我的 iPhone 6 获取 iPhone 5 媒体查询

    我不明白这里发生了什么事 我在 CSS 媒体查询中专门针对 iphone 5 media only screen and min device width 320px and max device width 568px some div
  • Xcode 在我的 iPhone 应用程序上运行 codesign 后如何运行脚本?

    我编写了一个脚本 它执行一些步骤来将我的构建打包为临时发行版 我的第一个猜测是在我的 Ad Hoc 目标中使用运行脚本阶段 但看起来协同设计被固定在构建 iPhone 应用程序链的最后位置 有人知道如何在构建过程的最后一刻运行我的脚本 Up
  • 获取动画滚动视图的当前位置

    我遇到了以下问题 我对 uiscrollview 进行了子类化 其中 contentOffset 通过以下代码进行动画处理 UIView animateWithDuration 1 0 delay 1 0 options options a
  • 关闭 UITextView 的键盘而不使用 Return 键

    我正在使用 UITextView 并希望保留 Return 键的正常用法 即插入新行 但是 当我无法使用 Return 键时 如何关闭键盘呢 A lot of people add a UIToolbar with a Done butto
  • Swift 字典映射 - 闭包中的 init

    我有 Swift 字典 private var params String AnyObject 这包含查询项目 例如 lat 40 lon 100 我想将这本词典映射到NSURLQueryItem大批 我想让它 迅速 params map
  • 如何在复杂的层次结构中上下同步 CALayer 和 UIView 动画

    See 如何在整个层次结构中管理 CALayer 动画 https stackoverflow com questions 26917908 how to manage calayer animations throughout a hie
  • 在 Pickerview 中创建复选标记[重复]

    这个问题在这里已经有答案了 我正在开发一个应用程序 我想在用户选定的行上创建复选标记 For Ex 在UITableView中有 UITableViewCellAccessoryCheckmark 但我想知道是否有类似的东西可用于 UIPi
  • 在 Swift 中计算两个 CLLocation 点之间的方位角 [重复]

    这个问题在这里已经有答案了 我正在尝试计算仅 swift 代码中两个 CLLocation 点之间的方位 我遇到了一些困难 并假设这是一个非常简单的函数 堆栈溢出似乎没有列出任何内容 func d2r degrees Double gt D
  • -[_SwiftValueencodeWithCoder:]:无法识别的选择器发送到实例

    尝试使用 NSCoder 时出现错误 玩家 swift class Player NSObject NSCoding private var playerName String private var playerScore Int pri
  • Quartz 2D/OpenGLES 图像上的几何变形(最好使用 CGImage)

    实现诸如收缩 鱼眼等几何变形的首选方法是什么 使用iPhone SDK 我知道 OSX 的 Core Image 库内置了所有这些类型的过滤器 但 iPhone SDK 没有 我可以在给定原始源位图数据的特定位置和半径处创建位移图 但我不确

随机推荐

  • 无法导入 scala.reflect.runtime.universe

    我想按照 scala 2 10 2 中的示例来尝试反射本教程 http docs scala lang org overviews reflection environment universes mirrors html 当我启动 sbt
  • 快速解析对象内的json数组

    这是一个样本json我必须在我的项目中实现的代码 请告诉我如何编写代码 我写了很多次代码 这根本不是工作 所以我希望请提供完整的例子 在这里我可以看到 首先有一个对象 接下来有一个多个对象 最后是一个对象内的数组 请查看详情 Activit
  • Tkinter Canvas 将项目移动到顶层

    我有一个 Tkinter Canvas 小部件 Python 2 7 而不是 3 在这个 Canvas 上我有不同的项目 如果我创建一个与旧项目重叠的新项目 它将位于前面 现在 我如何才能将旧项目移动到新创建的项目前面 甚至移动到画布上所有
  • jQuery 从链接获取带有变量的 url 并通过 Ajax 发送它

    我可以使用此链接通过 GET 将产品添加到购物车 div a href Add to Cart a div 我想使用 jQuery Ajax 保持在同一页面上 如果启用了 JS 我已经写出了以下内容 但当然它不起作用 有人可以看看出了什么问
  • C ++,stl,map如何按值而不是键排序

    我想仅使用值而不是键对地图容器中的元素进行排序 怎么做 我知道地图可以按键值排序 但反之亦然怎么办 我在 stackoverflow 中发现了同样的问题 我喜欢这个solution https stackoverflow com a 269
  • 什么时候适合使用 df.value_counts() vs df.groupby('...').count()?

    我听说 Pandas 通常有多种方法可以做同样的事情 但我想知道 如果我尝试按特定列中的值对数据进行分组并计算具有该值的项目数 那么什么时候使用才有意义df groupby colA count 什么时候使用才有意义df colA valu
  • 如何使用 C# Entity Framework 5 DbGeography 空间数据纠正多边形环方向

    我正在使用新的实体框架 5 使用空间数据类型 DbGeography 作为我的模型的一部分 用于在一个实例中存储点 在另一个实例中存储多边形 设置 POLYGON 的值时 所有保存都不会出现错误 但是只有当我按顺时针顺序在地图上绘制多边形时
  • 使用AJAX将网页内容加载到DIV中

    我有一个文本字段 当我在文本字段中输入内容时 我想将内容加载到下面的 DIV 中 这就是我的等效代码
  • 当我右键单击图标时出现无限 gtk 警告

    由此tuto http zetcode com tutorials gtktutorial firstprograms include
  • 编程中死锁问题有多常见?

    我用多种语言进行编程 但我不知道代码中是否存在死锁 我认为这意味着它不会发生 这种情况经常发生吗 在编程中 not在数据库中 足以让我担心它吗 如果满足以下两个条件 则可能会出现死锁 您有多个线程 并且它们争用多个资源 你写多线程代码吗 您
  • Gtk Ckipboard:使用自定义 URI 方案从源粘贴文件

    我正在尝试编写一个 GTK C 应用程序 将一些文件放在 Gtk 剪贴板上 以便使用 Nautilus 的用户能够粘贴它们 有一个好的stackoverflow 上 Gtk 剪贴板本地文件复制和粘贴的示例 https stackoverfl
  • AngularJS 下拉列表不显示所选值

    在角度下拉列表中显示所选值时面临问题 当我这样给予时它就起作用了 scope selectedItem scope items 1 不起作用 如果我直接给出该值 scope selectedItem name two age 27 HTML
  • ul in ul 的正确语义

    我在写信ul inside ul制作手风琴类型的菜单 但是当我在 html 验证器中检查下面的代码时 它给了我这些错误 Element ul not allowed as child of element ul in this contex
  • 记录可以用作对象的属性吗?

    我想将记录作为对象的属性 问题是 当我更改该记录的某个字段时 该对象不知道这一更改 type TMyRecord record SomeField Integer end TMyObject class TObject private FS
  • 为什么使用 Nsurl 请求不断告诉我重命名为“init(url)”

    还尝试添加检测视频并将其下载到应用程序的功能 简而言之 这是一个基于网络的应用程序 用于下载任何类型的视频 并能够将其存储在应用程序中 import UIKit class ViewController UIViewController I
  • Qt raw 与 std::shared_ptr

    我注意到 当在 QT 中用 share ptr 替换原始指针时 我的代码不再起作用 例如 如果不是 QTreeWidgetItem vItem new QTreeWidgetItem ItemTitle I use std shared p
  • AWS IAM GetUser - 凭证的范围应使用curl和“--aws-sigv4”选项限定在有效区域

    我试图获得正确的请求来获取用户 但不能 有效的 AWS CLI aws iam get user user name user name 现在 一个平淡的curl request api addr https iam amazonaws c
  • 设置div宽度,对齐div中心,文本左对齐

    我有一个小问题 但我无法解决 我有一个 864px 宽度的内容标题 一个重复的背景图像和页脚图像 现在我有这个 div 在背景图像上 我希望它的宽度为 855px 文本左对齐但居中对齐 以便它适合背景 我曾经有过一些剩余的填充宽度 但我发现
  • 将 NSManagedObject 的实例添加到 NSManagedObjectContext 正常,更新同一实例失败

    我在 iPhone 应用程序中使用核心数据 我创建了一个简单的类Friend 它源自NS管理对象并使用以下属性 property nonatomic retain NSString name 我能够在我的上下文中添加和删除此类的实例 并且我
  • 静态库之路来自地狱的噩梦

    这就是重点 我创建了一个子项目 静态库 该库编译良好 没有错误 当我将此库包含在项目中并从项目中的该库导入标头时 该库无法编译 因为它找不到属于自身的路径 在网上学习了一系列有关如何创建静态库并将其嵌入到项目中的教程后 我不知道哪个是正确的