Xcode 中架构 arm64 的未定义符号

Undefined symbols for architecture arm64 in Xcode

提问人:Xys 提问时间:2/18/2021 更新时间:2/18/2021 访问量:243

问:

我有一个框架 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

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

该符号在框架中,我用_OBJC_CLASS_$_MyClassnm mylib | grep MyClass

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

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

Xcode 链接器 框架 static-libraries linker-errors

评论


答:

0赞 Xys 2/18/2021 #1

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

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