【问题标题】:Undefined symbols for architecture arm64 in XcodeXcode 中架构 arm64 的未定义符号
【发布时间】:2021-02-17 17:47:31
【问题描述】:

我有一个框架 Xcode 项目 A,以及一个使用 A 的框架二进制文件的应用程序 Xcode 项目 B。

当我尝试在我的应用程序中实例化我的框架对象时,它给了我这个链接错误:

Undefined symbols for architecture arm64:
  "_OBJC_CLASS_$_MyClass", referenced from:
      objc-class-ref in ViewController.o
ld: symbol(s) not found for architecture arm64

我的框架是arm64,我用lipo -info验证了。

符号_OBJC_CLASS_$_MyClass在框架中,我用nm mylib | grep MyClass验证了

我不明白怎么可能找不到这个符号。

这可能是什么原因?任何帮助将不胜感激,非常感谢..

【问题讨论】:

    标签: xcode linker frameworks static-libraries linker-errors


    【解决方案1】:

    我通过在构建设置中将Symbols Hidden by Default 设置为No 解决了我的问题。

    或者,如果我想保留该选项并隐藏所有其他符号,我也可以在我的班级前面添加 __attribute__ ((visibility("default")))

    【讨论】:

      猜你喜欢
      • 2019-05-20
      • 2021-01-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-01-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多