Xcode 9.4.1:体系结构armv7,arm64,x86_64

时间:2018-07-17 08:31:51

标签: ios cmake shared-libraries undefined-symbol xcode9.4

我使用CMake创建了一个框架并将其添加到测试项目中。然后导入头文件,一切正常。调用方法时出现此错误。我不知道为什么会发生此错误。我尝试了几乎所有可能的方法,但是没有用。任何建议将不胜感激。

问题

Undefined symbols for architecture armv7:
  "XmlInterface::XmlInterface()", referenced from:
      -[ViewController viewDidLoad] in ViewController.o
  "XmlInterface::~XmlInterface()", referenced from:
      -[ViewController viewDidLoad] in ViewController.o
ld: symbol(s) not found for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation)

我已经尝试过这些方法

  1. Other Linker Flags添加$(inherited)

  2. 删除DerivedData

  3. NO设置为Active Architecture Only

lipo -info

Architectures in the fat file: xml are: x86_64 armv7 armv7s arm64

附加的屏幕截图

Project structure

1 个答案:

答案 0 :(得分:1)

您使用已在模拟器上编译过的二进制文件进行编译,但是请尝试在真实设备上运行该应用程序。

最简单的方法是在设备上编译,然后在设备上运行。最困难的方法是检查“ lipo”可以做什么:)