Objective c 如何解决;架构x86_64的未定义符号:“;?
我已经搜索了好几个小时,但仍然没有找到运气(读了很多stackoverflow) 我试图通过Cocoapods实现。当我尝试运行它时,我得到以下信息:Objective c 如何解决;架构x86_64的未定义符号:“;?,objective-c,xcode,Objective C,Xcode,我已经搜索了好几个小时,但仍然没有找到运气(读了很多stackoverflow) 我试图通过Cocoapods实现。当我尝试运行它时,我得到以下信息: undefined symbols for architecture x86_64: "_OBJC_CLASS_$_FDTakeController", referenced from: objc-class-ref in VendeViewController.o ld: symbol(s) not found for archite
undefined symbols for architecture x86_64:
"_OBJC_CLASS_$_FDTakeController", referenced from:
objc-class-ref in VendeViewController.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
我知道有很多类似的问题,但他们的所有解决方案似乎都不适合我。从日志中,我可以假设您将使用一个不是为模拟器构建的静态库(架构x86_64) 该库仅针对设备进行编译,还需要为模拟器进行编译和构建。然后,两个静态文件(一个abc.a用于设备,一个abc.a用于模拟器)需要是fat文件,即应使用终端上的lipo命令将这些文件合并在一起,以创建fat文件。现在,当您使用这个fat文件时,它将同时适用于模拟器和设备 但重要的是,您应该拥有为模拟器和设备编译和构建静态库的源代码。之后,合并这些文件以创建一个fat文件,该文件将在所有已定义的体系结构上工作
如果您使用的是第三方静态库(SDK),那么您需要联系受尊敬的一方。Id说此组件的生成设置不包括x86_64(这仅适用于模拟器的生成,是吗?),如果这是一个开源的东西,并且您有代码,那么您可以更改生成设置,但是如果它是一个编译的lib/framework,那么您需要联系developers@Jef不,它也不适用于设备:(