我在现有的Xcode项目中添加了一个库,之后该库仅在模拟器上构建而无法在iPhone上构建,从而给我错误“体系结构arm64的未定义符号:”
有人帮我吗?
我尝试了几种方法来摆脱这种情况,但不幸的是没有任何效果。我清除派生数据退出Xcode,重新启动笔记本电脑。
我在添加库的同时做一件事,实际上库是旧的并且不支持弧启用,但是我的项目ARC已启用,因此我为Target中的每个库文件(例如“ -fno-objc-arc”)设置了一个标志值- ->构建阶段->编译使该特定文件的arc enable为false的源代码。可能是由于该问题,但我无法修复它。
ld: warning: directory not found for option '-L/Users/shashigupta/Git Projects/ClinMd/Common/PNFModule'
Undefined symbols for architecture arm64:
"_OBJC_CLASS_$_EASession", referenced from:
objc-class-ref in libPNFPenLib.a(PenController.o)
"_OBJC_CLASS_$_EAAccessoryManager", referenced from:
objc-class-ref in libPNFPenLib.a(PenController.o)
"_EAAccessoryDidConnectNotification", referenced from:
-[_PenController initWithCoder:] in libPNFPenLib.a(PenController.o)
-[_PenController init] in libPNFPenLib.a(PenController.o)
-[_PenController dealloc] in libPNFPenLib.a(PenController.o)
"_EAAccessoryDidDisconnectNotification", referenced from:
-[_PenController initWithCoder:] in libPNFPenLib.a(PenController.o)
-[_PenController init] in libPNFPenLib.a(PenController.o)
-[_PenController dealloc] in libPNFPenLib.a(PenController.o)
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
它应该在真实设备上成功构建,但只能在模拟器上构建。
答案 0 :(得分:0)
您需要了解模拟器和真实设备支持不同的架构,并且需要根据运行平台的架构来构建“ PFNModule”。
我建议您阅读本文以了解您所遇到问题的细微差别:http://iosbrain.com/blog/2017/01/07/the-heartbreak-of-the-xcode-undefined-symbols-for-architecture-xxx-linker-message/