Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 如何解决;架构x86_64的未定义符号:“;?_Objective C_Xcode - Fatal编程技术网

Objective c 如何解决;架构x86_64的未定义符号:“;?

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

我已经搜索了好几个小时,但仍然没有找到运气(读了很多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 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不,它也不适用于设备:(