我正在努力使我现有的项目支持Apple所要求的64位设备。 该项目使用Three20作为静态库。
我已经用arm64架构重建了Three320库。
但是现在我的项目仍然存在构建错误" 符号未找到架构x86_64"如下:
(null): "_OBJC_CLASS_$_TTDefaultStyleSheet", referenced from:
(null): _OBJC_CLASS_$_TitleStyleSheet in SettingsViewController.o
(null): "_OBJC_CLASS_$_TTStyleSheet", referenced from:
(null): Objc-class-ref in DailyInvestmentViewController.o
(null): "_OBJC_CLASS_$_TTStyledText", referenced from:
(null): Objc-class-ref in DailyInvestmentViewController.o
(null): "_OBJC_CLASS_$_TTStyledTextLabel", referenced from:
(null): Objc-class-ref in DailyInvestmentCustomCell.o
(null): Objc-class-ref in DailyInvestmentViewController.o
(null): "_OBJC_CLASS_$_TTTextStyle", referenced from:
(null): Objc-class-ref in SettingsViewController.o
(null): "_OBJC_METACLASS_$_TTDefaultStyleSheet", referenced from:
(null): _OBJC_METACLASS_$_TitleStyleSheet in SettingsViewController.o
(null): Symbol(s) not found for architecture i386
(null): Linker command failed with exit code 1 (use -v to see invocation)
有人能告诉我如何解决它。 非常感谢。 对不起我的英语不好。
答案 0 :(得分:0)
正如您所说,您已经重建了arm的lib,而不是i386。 但是你尝试构建64位模拟器使用,即i386_64。你仍然没有支持该平台的lib。
我建议为i386平台构建lib的第二个版本,用于仅支持64位的模拟器版本。这样,只有arm二进制文件,你的生产库就会变小。
答案 1 :(得分:0)
我今天早上遇到了这个问题,我自己的静态库已经为i386和x86_64构建了。
为我修复的是将Build Settings中的Architectures属性更改为$(ARCHS_STANDARD_INCLUDING_64_BIT)。我清理了,重新启动了Xcode,它运行起来了。
祝你好运。