【问题标题】:Xcode 9.4.1: Undefined symbols for architecture armv7, arm64, x86_64Xcode 9.4.1:架构 armv7、arm64、x86_64 的未定义符号
【发布时间】:2018-07-17 08:31:51
【问题描述】:

我使用 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

【问题讨论】:

  • 不要发布带有文字的图片,请将文字本身添加到问题帖子中。这是关于您的第一个带有错误消息的屏幕截图。
  • @Tsyvarev 谢谢你的建议,我马上修改。

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


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-11-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-29
    • 1970-01-01
    • 1970-01-01
    • 2015-10-04
    • 2015-03-18
    相关资源
    最近更新 更多