静态库依赖项在 Xcode 3.2.3 上的模拟器中编译,在设备上失败

2023-12-21

升级到 XCode 3.2.3 和 iPhone 3.2/4.0 SDK 在我的构建过程中引入了一个奇怪的错误。

我有一个静态库 Compton,它本身依赖于 Three20。我将 Compton 构建为它所支持的客户端应用程序的依赖项。

当我在模拟器或设备模式、3.2 或 4.0 SDK 中将 Compton 编译为其自己的项目时,一切都编译良好,没有错误。

当我使用 3.2 或 4.0 SDK 模拟器编译引用 Compton 的客户端应用程序,针对 3.2 上的 iPhone 或 iPhone / iPad 时,一切正常,没有编译错误,并且应用程序在模拟器中按预期运行。

然而,当我编译完全相同的项目时,除了从模拟器到设备的构建设置之外,没有任何更改,我收到以下链接错误,经过数小时的混乱后,我似乎无法消除这些错误#import语句、搜索路径、构建设置等。我真正感到沮丧的部分是模拟器版本构建和运行良好,这似乎是一个很小的配置问题。我将错误粘贴在下面,从在设备模式下构建我的项目的角度来看,康普顿类似乎无法“看到”一些 Three20 标头。

我用的是三号20的主干版本,今天拉的。

这是链接错误的输出:

Ld build/NewBlankComptonTemplate.build/Debug-iphoneos/NewBlankComptonTemplate.build/Objects-normal/armv7/NewBlankComptonTemplate normal armv7
cd /Users/wiley/iphone_projects/ComptonQuizzes/NewBlankComptonTemplate
setenv IPHONEOS_DEPLOYMENT_TARGET 4.0
setenv PATH "/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin:/opt/local/bin:/usr/local/git/bin"
/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/gcc-4.2 -arch armv7 -isysroot /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.0.sdk -L/Users/wiley/iphone_projects/ComptonQuizzes/NewBlankComptonTemplate/build/Debug-iphoneos -F/Users/wiley/iphone_projects/ComptonQuizzes/NewBlankComptonTemplate/build/Debug-iphoneos -filelist /Users/wiley/iphone_projects/ComptonQuizzes/NewBlankComptonTemplate/build/NewBlankComptonTemplate.build/Debug-iphoneos/NewBlankComptonTemplate.build/Objects-normal/armv7/NewBlankComptonTemplate.LinkFileList -dead_strip -ObjC -miphoneos-version-min=4.0 -framework Foundation -framework UIKit -framework CoreGraphics -framework AudioToolbox -framework AVFoundation -framework CFNetwork -framework MediaPlayer -framework MessageUI -framework MobileCoreServices -framework QuartzCore -framework StoreKit -framework SystemConfiguration -lxml2 -lz.1.2.3 /Users/wiley/iphone_projects/ComptonQuizzes/libs/Compton/src/build/Debug-iphoneos/libCompton.a -o /Users/wiley/iphone_projects/ComptonQuizzes/NewBlankComptonTemplate/build/NewBlankComptonTemplate.build/Debug-iphoneos/NewBlankComptonTemplate.build/Objects-normal/armv7/NewBlankComptonTemplate

Undefined symbols:
  "_OBJC_CLASS_$_TTStyleSheet", referenced from:
      objc-class-ref-to-TTStyleSheet in AppDelegate.o
  "_OBJC_CLASS_$_TTURLAction", referenced from:
      objc-class-ref-to-TTURLAction in AppDelegate.o
  "_OBJC_CLASS_$_TTRoundedRectangleShape", referenced from:
      objc-class-ref-to-TTRoundedRectangleShape in libCompton.a(ComptonStyleSheet.o)
  "_OBJC_METACLASS_$_TTDefaultStyleSheet", referenced from:
      _OBJC_METACLASS_$_ComptonStyleSheet in libCompton.a(ComptonStyleSheet.o)
  "_OBJC_CLASS_$_TTView", referenced from:
      objc-class-ref-to-TTView in libCompton.a(ComptonQuizStartController.o)
  "_OBJC_CLASS_$_TTShapeStyle", referenced from:
      objc-class-ref-to-TTShapeStyle in libCompton.a(ComptonQuizStartController.o)
  "_OBJC_CLASS_$_TTInnerShadowStyle", referenced from:
      objc-class-ref-to-TTInnerShadowStyle in libCompton.a(ComptonQuizStartController.o)
  "_OBJC_METACLASS_$_TTViewController", referenced from:
      _OBJC_METACLASS_$_ComptonFeedbackController in libCompton.a(ComptonFeedbackController.o)
      _OBJC_METACLASS_$_ComptonCatalogController in libCompton.a(ComptonCatalogController.o)
      _OBJC_METACLASS_$_ComptonQuizStartController in libCompton.a(ComptonQuizStartController.o)
      _OBJC_METACLASS_$_PILAppAdViewController in libCompton.a(PILAppAdViewController.o)
      _OBJC_METACLASS_$_ComptonQuizController in libCompton.a(ComptonQuizController.o)
  "_OBJC_CLASS_$_TTURLCache", referenced from:
      objc-class-ref-to-TTURLCache in libCompton.a(ComptonFeedbackController.o)
  "_OBJC_CLASS_$_TTSolidBorderStyle", referenced from:
      objc-class-ref-to-TTSolidBorderStyle in libCompton.a(ComptonQuizStartController.o)
  "_OBJC_CLASS_$_TTViewController", referenced from:
      _OBJC_CLASS_$_ComptonFeedbackController in libCompton.a(ComptonFeedbackController.o)
      _OBJC_CLASS_$_ComptonCatalogController in libCompton.a(ComptonCatalogController.o)
      _OBJC_CLASS_$_ComptonQuizStartController in libCompton.a(ComptonQuizStartController.o)
      _OBJC_CLASS_$_PILAppAdViewController in libCompton.a(PILAppAdViewController.o)
      _OBJC_CLASS_$_ComptonQuizController in libCompton.a(ComptonQuizController.o)
  "_OBJC_CLASS_$_TTNavigator", referenced from:
      objc-class-ref-to-TTNavigator in AppDelegate.o
  "_OBJC_CLASS_$_TTPostController", referenced from:
      objc-class-ref-to-TTPostController in libCompton.a(ComptonFeedbackController.o)
  "_OBJC_CLASS_$_TTRoundedRightArrowShape", referenced from:
      objc-class-ref-to-TTRoundedRightArrowShape in libCompton.a(ComptonStyleSheet.o)
  "_OBJC_CLASS_$_TTButton", referenced from:
      objc-class-ref-to-TTButton in libCompton.a(ComptonFeedbackController.o)
  "_OBJC_CLASS_$_TTSolidFillStyle", referenced from:
      objc-class-ref-to-TTSolidFillStyle in libCompton.a(ComptonQuizStartController.o)
  "_OBJC_CLASS_$_TTWebController", referenced from:
      objc-class-ref-to-TTWebController in AppDelegate.o
  "_TTScreenBounds", referenced from:
      -[ComptonCatalogController viewDidLoad] in libCompton.a(ComptonCatalogController.o)
      -[PILAppAdViewController viewDidLoad] in libCompton.a(PILAppAdViewController.o)
  "_OBJC_CLASS_$_TTDefaultStyleSheet", referenced from:
      _OBJC_CLASS_$_ComptonStyleSheet in libCompton.a(ComptonStyleSheet.o)
ld: symbol(s) not found
collect2: ld returned 1 exit status

谁能帮我弄清楚这里可能出了什么问题吗?

Update:我已经通过使用 Three20 的 fork 和消除了重复的符号链接错误此处描述的过程 http://blog.binaryfinery.com/?p=225并删除 Three20 和 Compton 上的 -all_load 链接器标志。我遇到的真正疯狂的问题仍然存在:我可以在模拟器中很好地编译和运行应用程序,但是在为设备进行编译时,我收到上述链接错误。

更新2:我已经解决了该问题,添加了答案并接受了它。问题确实是构建配置设置 - 如果您使用 4.0 SDK,则需要将“Architectures”设置为“Optimized (armv7)”。


据我所知,您构建了 libCompton,同时直接喜欢了 Three20,这只会导致地狱。将静态库链接在一起并尝试在最终项目中使用它不会很有趣。也将 Three20 链接到您的应用程序,它应该可以解决您的问题,compton 应该只需要标头才能编译,它只需要这些符号出现在您的应用程序的最终链接中。

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

静态库依赖项在 Xcode 3.2.3 上的模拟器中编译,在设备上失败 的相关文章

  • Monotouch如何管理资源(字符串、图像等)?

    在 Android 中 我将应用程序字符串放入名为的文件中strings xml 例如 对于意大利语翻译 我需要创建一个 value it 文件夹并放入strings xml在此新文件夹中包含带有意大利语标签的文件 Monotouch 如何
  • 在 Objective-C 中检查 Json 响应的空值

    AT null EA null AD2 OP null AdsLst EMs null ND MN null FN Sony LN J ZP 23456 CT 1 PP 0 cId 161464 Pos null WPExt null OS
  • xcode 9 中的 Facebook 登录按钮终止

    我正在使用 Xcode 9 并将编译器设置为 Swift 3 2 我使用 Cocoapods 安装了 Facebook Login 一切都编译没有任何错误 但每当我在模拟器中运行它时 我单击登录按钮 它就会崩溃 控制台中仅打印以下内容 li
  • Xcode 5 - clang:错误:链接器命令失败,退出代码 1(使用 -v 查看调用)

    I am facing a linker error when running my source code I have attached a screenshot also I am new in iOS development and
  • 模拟 Push Segue 的自定义 Segue 将 VC 变成僵尸

    使事情简短明了 我写了一个自定义的segue void perform UIView preV UIViewController self sourceViewController view UIView newV UIViewContro
  • 如何将 Default.png 置于横向模式?

    我有 Default png 480 320 图像 我的问题是 当我启动应用程序时 Default png 图像以横向模式显示 这怎么可能 首先 预先旋转您的初始图像 以便获得纵向和横向版本 然后 使用Default Portrait pn
  • AVPlayer Swift:如何隐藏控件并禁用横向视图?

    因为这是我的第一篇文章 所以简单介绍一下我 通常我设计东西 主要是 UI 但我真的很想跨入编程领域 以便更好地理解你们 所以我决定构建一个小应用程序来开始 所以我已经花了几个小时试图解决这个问题 这是我的第一个应用程序项目 所以我为我的新手
  • 如何在 iPhone 中以编程方式访问保存的图像中的图像而不使用 UIimagePickerController?

    我知道如何让用户从 UIImagePickerController 选择图像 但我不想要那样 我只想将 NSArray 图像存储在手机中 但我不想让用户参与 选择一个然后拥有该图像 相反 我创建了自己的自定义图像选择器控制器并希望有画廊作为
  • iPhone/iPad 应用程序介绍

    我的应用程序的 iPhone 版本支持UIDeviceOrientationPortraitUpsideDown and UIDeviceOrientationPortrait 但 iPad 版本支持所有方向 在我的视图控制器中我有这个 B
  • 如何将 AdMob 广告添加到 UITableView

    我正在尝试将 AdMob 广告添加到表格视图中 我希望它出现在每 10 个单元格中 例如 如果您有 Reddit 应用程序的免费版本 就像它一样 我尝试遵循 AdMob 文档 但没有任何运气 而且我确信我遗漏了一些东西 任何人都可以阐明一种
  • iPhone 上的 TCP 打洞

    我已经阅读了一些内容 虽然我是 iPhone 网络的新手 但我想知道 TCP 打孔是否可以通过 NAT 连接两台 iPhone 我还阅读了一些有关 uPnP 和发夹的有用内容 但我根本不熟悉这些内容 所以如果有人对这是否可能有任何想法 我的
  • 为什么这个 OpenGL ES 代码在 iPhone 上速度很慢?

    我在学习 OpenGL ES 时稍微修改了 iPhone SDK 的 GLSprite 示例 结果发现它相当慢 即使在模拟器中 在最糟糕的硬件上 所以我一定做错了什么 因为它只有 400 个纹理三角形 const GLfloat sprit
  • ALAssetPropertyDate 返回“错误”日期

    我目前正在开发一个项目 需要读取一些 纬度 经度和日期 EXIF 数据 位置数据似乎是正确的 但我得到的日期似乎是 上次修改日期 日期 CLLocation loc asset valueForProperty ALAssetPropert
  • CGColorRef 导致崩溃

    我的代码发生了崩溃 并且我一直跟踪到在传递 2 个 CGColorRefs 时发生崩溃的行 以下是对象 CGColorRef startColor UIColor colorWithWhite 0 92 alpha 1 0 CGColor
  • 更新表格视图图像子视图中的图像的最佳方法是什么?

    具体来说 如何从 uitableview 单元格中获取图像子视图 我的表视图从网络异步获取数据 当我第一次创建图像视图时 我通过以下方式添加了视图 imageView setImage image cell addSubview image
  • 语言混合:模型和视图

    考虑开发一个应用程序 其中模型将使用 C 使用 Boost 编写 视图将使用 Objective C 使用 Cocoa Touch 编写 哪里有一些示例展示了如何集成 C 和 Objective C 来开发 iPhone 应用程序 直接从源
  • cllocation 和 mkreversegeocoder

    我尝试使用 cllocation 和 mkreversegeocoder 检索城市名称 在我的 viewdidload 方法中 我是 cllocationmanager self locManager CLLocationManager a
  • 在 iphone safari 浏览器中禁用浏览或选择文件按钮

    我想知道为什么select file or choose file在 iphone safari 中查看网页时 该按钮被禁用 谁能告诉我为什么会发生这种情况有什么方法可以启用它吗 谢谢 因为您无法从 iPhone 上传文件
  • AVAudioPlayer 重置当前播放的声音并从头开始播放

    我在使用 AVAudioPlayer 时遇到问题 我想重置当前正在播放的播放器并再次播放 我尝试以下但没有运气 声音播放一次 但第二次我选择按钮时它会停止声音 第三次再次启动声音 Stop the player and restart it
  • UIButton 图像调整大小/缩放以适合

    我有一个非常严重的问题 我不知道如何解决 我正在对 UIButtons 框架进行动画处理 当我对其进行动画处理时 我希望按钮中的图像缩放到与按钮相同的大小 它无需在我的 iPhone 模拟器上执行任何操作即可运行 但是当我在 iPad 模拟

随机推荐

  • Java:如何添加SSL客户端身份验证

    我有以下代码使用 SSL 连接服务器与客户端 现在我想添加客户端身份验证 我有一个服务器密钥库 JCEKS 类型 和一个客户端密钥库 JKS 类型 服务器使用信任库 cacerts 我在其中导入了两个证书 因为我也想使用此信任库进行客户端身
  • C#.NET 中的 GOTO 语句

    try block catch GOTO block finally 在这种情况下 goto 会执行吗 它不会编译 因为 GOTO block 代替 goto block 即使它是正确的 它也不会编译 因为 C 规范指出 第 8 9 3 节
  • git pull 生成“致命:未指定远程存储库。”错误

    我想开始为 Github 上托管的项目做出贡献 我已采取以下步骤 git init git拉https github com PrincetonUniversity EVCM git https github com PrincetonUn
  • 使用相同类型的静态非空指针初始化后,指向自定义类型的静态指针保持为 nullptr

    我有两个命名空间 每个命名空间都有一个指向其中一个命名空间内的类 Window 的指针 图形 h namespace Graphic class Window void init static Window window App h nam
  • Java 数组 Setter Getter

    有人可以帮我解决一个小问题吗 例如 我想为 1 名学生设置 3 个讲座 但是当我尝试此操作时 我无法设置讲座 student setStudentLecture lecture student setStudentLecture lectu
  • Android在openstreetmap上绘制路线[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我正在寻找一种方法来绘制路线路径openstreetmap在我的 Android 应用程序中 我只有起点和终点 但不想要一条直线 关于
  • SF 符号在 SwiftUI 中调整为相同大小看起来不正确

    我在我的应用程序中显示一排各种 SF 符号 并希望将它们的大小调整为按钮 然而 由于 SF 符号一开始的大小并不相同 当我将它们全部调整到 44x44 时 有些符号显得太大 我可以根据它们的内容来调整它们的大小 但是我实际上不知道这些符号会
  • 如何将 jquery ajax 转换为原生 javascript?

    这是我的 ajaxHandler 我想将其转换为本机 javascript 即 使用 XMLHttpRequest 但我无法理解如何转换 ajaxHandler defaultAttributes type GET url index ph
  • vue 实例和 vue 组件之间的区别?

    我是vue js新手 在学习时有一些疑问 我现在对其实例和组件之间的关系有点困惑 据我所知 vue 构建的每个应用程序都应该只有一个实例 并且只有一个实例 如果需要 它可以有任意多个组件 但最近我看到了一个演示 在该演示中它有多个实例 所以
  • org.gdal.ogr.ogrJNI.GetDriverCount() 引起的 UnsatisfiedLinkError

    我正在 Windows 7 上使用 Eclipse Luna 使用 Java 进行开发 我正在将 gdal 用于某些 ogr 进程 并且从 eclipse 运行该应用程序没问题 但在同一台计算机上从命令行运行会遇到问题 我得到以下信息 Ca
  • Google App Engine Python、virtualenv 和 mimetypes

    我有使用 djangoappengine 构建并在 App Engine 开发服务器下运行的工作项目 所以我运行 manage py runserver 并且一切正常 所有需求 django djangoappengine 等 都位于项目根
  • igraph 和 tnet 之间中心性度量的差异

    我正在尝试获取有向加权网络的中心性度量 我一直在使用igraph and tnet包在R 然而 我发现使用这两个包获得的结果存在一些差异 并且我对这些差异的原因有点困惑 见下文 require igraph require tnet set
  • Android Studio 卡在“下载组件”上

    我已经安装了 android studio 当我想下载像sdk经理等 我被困在这里 像这样 我遇到了完全相同的问题 在反复看到这些不具有描述性的下载后 我感到沮丧 此外 在高速互联网上下载也需要花费大量时间 只需等待它就会完成
  • AlertController 不在窗口层次结构中

    我刚刚使用 ViewController 类创建了一个单视图应用程序项目 我想从位于我自己的类中的函数显示 UIAlertController 这是我的带有警报的班级 class AlertController UIViewControll
  • 将 DLL 拖放到 Windows Server 2008 .net 4.0 中的 GAC(“程序集”)

    我试图将一些代码部署到客户端计算机 但我不想在客户端计算机上安装 MS Windows SDK 工具 这意味着无权访问 gacutil 我还没有为我的代码创建安装程序 看起来这可能是 net 4 0 中仅有的两个选项 在过去 我只需启动 运
  • 在自定义 ViewModel 中重用验证属性

    当我开始使用时xVal http xval codeplex com 对于客户端验证 我仅实现使用域模型对象作为视图模型或视图模型中这些对象的嵌入实例的操作方法 这种方法在大多数情况下都可以正常工作 但在某些情况下 视图需要仅显示和回发模型
  • 如何禁用 tableView 中表列的重新排序?

    试图弄清楚如何禁用 javafx 2 中表列的重新排序 这是解决方案 tblView getColumns addListener new ListChangeListener Override public void onChanged
  • 找不到元素“beans”的声明

    我有弹簧罐spring 3 2 0 RC1 jar并试图实施Apache ActiveMQ helloWorld给出的教程中的程序here http icodingclub blogspot com 2011 07 introduction
  • 如何获取枚举的数值?

    假设你有 public enum Week SUNDAY MONDAY TUESDAY WEDNESDAY THURSDAY FRIDAY SATURDAY 一个人怎样才能得到int表示星期日是 0 星期三是 3 等 Week week W
  • 静态库依赖项在 Xcode 3.2.3 上的模拟器中编译,在设备上失败

    升级到 XCode 3 2 3 和 iPhone 3 2 4 0 SDK 在我的构建过程中引入了一个奇怪的错误 我有一个静态库 Compton 它本身依赖于 Three20 我将 Compton 构建为它所支持的客户端应用程序的依赖项 当我