在链接使用SDK 3.0创建的静态库时,使用Base SDK 3.0构建iPhone SDK 2.x目标 [英] Building iPhone SDK 2.x targets with Base SDK 3.0, when linking static libraries created with SDK 3.0

查看:91
本文介绍了在链接使用SDK 3.0创建的静态库时,使用Base SDK 3.0构建iPhone SDK 2.x目标的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在使用iPhone SDK 3.0构建的静态库Pinch Analytics r64在我的应用程序中正确链接时遇到了问题,该应用程序是针对iPhone OS 2.0的。这似乎是一个相当普遍的问题, Pinch Analytics'网站甚至还有一整页专门回答这个问题。

I'm having a problem getting Pinch Analytics r64, a static library built with iPhone SDK 3.0, to link properly in my application which is targetting iPhone OS 2.0. This seems to be a fairly common problem, and Pinch Analytics' site even has an entire page devoted to answering this question.

基本上他们说将你的项目的Base SDK设置为3.0,并将你的iPhone OS部署目标设置为SDK 2.0(或者你正在瞄准的任何版本)。我已经采取了这两个步骤,验证我没有覆盖目标设置中的任何项目设置,已经清理了我的目标,但我仍然收到以下链接器错误:

Basically, they say to set your project's Base SDK to 3.0 and set your iPhone OS Deployment Target to SDK 2.0 (or whatever version you're targetting). I have taken both of these steps, verified that I'm not overriding any of the project settings in my target settings, have cleaned my targets, but still I'm getting the following linker errors:


未定义的符号:

___ restore_vfp_d8_d15_regs,
引自:
- [Beacon connectionDidFinishLoading:] in
libPMAnalytics-r64.a(Beacon.o)
- [beacon connection:didFailWithError:] in
libPMAnalytics-r64.a(Beacon.o)

___ save_vfp_d8_d15_regs,引用自:
- [beacon connectionDidFinishLoading:] in
libPMAnalytics-r64.a(Beacon。 o)

- [bacon connection:didFailWithError:] in
libPMAnalytics-r64.a(Beacon.o)
- [Beacon connection:didReceiveData:] in
libPMAnalytics-r64.a(Beacon.o)`

"___save_vfp_d8_d15_regs", referenced from: -[Beacon connectionDidFinishLoading:] in libPMAnalytics-r64.a(Beacon.o) -[Beacon connection:didFailWithError:] in libPMAnalytics-r64.a(Beacon.o) -[Beacon connection:didReceiveData:] in libPMAnalytics-r64.a(Beacon.o)`

等。

我来到我的智慧结束;任何建议都会很棒!

I'm coming to my wit's end here; any suggestions would be great!

推荐答案

在收到Pinch Media团队的几封电子邮件后,问题就解决了。基本上,您应该永远不要使用DROPDOWN选择不同的活动SDK

After a few emails with the Pinch Media team, the problem is solved. Basically, you should NEVER USE THE DROPDOWN TO SELECT A DIFFERENT ACTIVE SDK.

在项目信息中将Base SDK设置为3.0。在项目信息中将iPhone OS部署目标设置为2.0(或您要定位的任何版本)。将设备/配置/目标下拉列表设置为Base SDK(3.0),否则Xcode将使用与所选Active SDK关联的OLD工具链。

Set Base SDK to 3.0 in Project Info. Set iPhone OS Deployment Target to 2.0 (or whichever version you're targetting) in Project Info. Leave the device/configuration/target dropdown set to the Base SDK (3.0), or Xcode will use the OLD toolchain associated with the selected "Active SDK".

这篇关于在链接使用SDK 3.0创建的静态库时,使用Base SDK 3.0构建iPhone SDK 2.x目标的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆