在 iOS5 中实现库时获取“apple mach-o linker id error undefined symbols for architecture i386”
Posted
技术标签:
【中文标题】在 iOS5 中实现库时获取“apple mach-o linker id error undefined symbols for architecture i386”【英文标题】:Getting "apple mach-o linker id error undefined symbols for architecture i386" when implement a Library in iOS5 【发布时间】:2012-01-30 00:10:34 【问题描述】:我在 XCode 4 中实现 PayPal 库时遇到了麻烦。 尝试构建项目时出现此错误:
架构 i386 的未定义符号: “_xmlParseMemory”,引用自: -[AdaptivePaymentsSOAP11Binding_CancelPreapproval connectionDidFinishLoading:] 在 libPayPalMPL.a(AdaptivePayments.o) -[AdaptivePaymentsSOAP11Binding_ConfirmPreapproval connectionDidFinishLoading:] 在 libPayPalMPL.a(AdaptivePayments.o) -[AdaptivePaymentsSOAP11Binding_ConvertCurrency connectionDidFinishLoading:] 在 libPayPalMPL.a(AdaptivePayments.o) - [AdaptivePaymentsSOAP11Binding_ExecutePayment connectionDidFinishLoading:] 在 libPayPalMPL.a(AdaptivePayments.o) -[AdaptivePaymentsSOAP11Binding_GetPaymentOptions connectionDidFinishLoading:] 在 libPayPalMPL.a(AdaptivePayments.o) -[AdaptivePaymentsSOAP11Binding_PaymentDetails connectionDidFinishLoading:] 在 libPayPalMPL.a(AdaptivePayments.o) - [AdaptivePaymentsSOAP11Binding_Pay connectionDidFinishLoading:] 在 libPayPalMPL.a(AdaptivePayments.o) ...
在网上搜索我发现这是从 XC3 传递到 XC4 时的典型错误。也许图书馆没有更新。但是您在那里看到的那个文件 .a 似乎是不可编辑的。
【问题讨论】:
你检查过库是否在Build Phases > Link Binary With Libraries
吗?
已经在里面了,还有什么?
我解决了。必须加载 3 个框架:libXML、Security 和 libz。
让它成为一个答案并接受它,其他人可以从您的经验中受益。
【参考方案1】:
解决了。必须加载 3 个框架:libXML、Security 和 libz。
【讨论】:
为什么 PayPal 团队不直接说我们需要这些库?妈的! How to load a framework 感谢您的回答,真的帮助了我。 PayPal MPL 文档真的很缺乏!以上是关于在 iOS5 中实现库时获取“apple mach-o linker id error undefined symbols for architecture i386”的主要内容,如果未能解决你的问题,请参考以下文章
ios -Apple Mach-O Linker Error