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

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(使用前将#替换为@)

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

随机推荐

  • 无法导入 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 我能够在我的上下文中添加和删除此类的实例 并且我
  • 静态库之路来自地狱的噩梦

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