【发布时间】:2014-04-15 08:27:17
【问题描述】:
昨天我有一个项目在使用 Xcode 5 时没有问题。今天,在更新到 Xcode 5.1 后,我有 6 个错误并且项目没有编译。
Undefined symbols for architecture x86_64:
"_OBJC_CLASS_$_PayPal", referenced from:
objc-class-ref in SUAppDelegate.o
objc-class-ref in SUTViewController.o
"_OBJC_CLASS_$_PayPalAdvancedPayment", referenced from:
objc-class-ref in SUTViewController.o
"_OBJC_CLASS_$_PayPalInvoiceData", referenced from:
objc-class-ref in SUTViewController.o
"_OBJC_CLASS_$_PayPalInvoiceItem", referenced from:
objc-class-ref in SUTViewController.o
"_OBJC_CLASS_$_PayPalReceiverPaymentDetails", referenced from:
objc-class-ref in SUTViewController.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
该项目包含 PayPal 库,并且已正确链接到代码中。它在那里,我可以看到图书馆,所以它不是缺少的图书馆。
在 6.1 Simulator 中运行代码编译没有问题。
Xcode 5.1 的新功能“更新 iOS 标准架构设置以包含 64 位。”可能是个问题?
也许我应该更改标准架构?或者与 PayPal 库相关的东西?
有人知道怎么解决吗?
【问题讨论】:
-
“更新到 Xcode 7.1 之后”真的吗?
-
从 Target / Build Settings / Architectures / Valid Architectures 中删除 arm64 允许我编译项目。但这意味着我不是为 64 位编译的?
-
我认为您使用的库不支持 arm64。检查其更新是否可用。
-
5.1 抱歉,这是 iOS 7.1 和 Xcode 5.1 的混合 :)
-
检查这个link,它报告了paypal库的同样问题。
标签: ios objective-c xcode paypal x86-64