【问题标题】:_UnitySendMessage missing symbols iOS dynamic framework_UnitySendMessage 缺少符号 iOS 动态框架
【发布时间】:2018-05-03 21:29:17
【问题描述】:

我收到错误:

Undefined symbols for architecture armv7s:
  "_UnitySendMessage", referenced from:

当尝试从我正在构建的动态框架中调用 UnitySendMessage 时。

这个堆栈溢出问题在 2 年前没有答案并被放弃:

Undefined symbols for architecture .. in dynamic framework

【问题讨论】:

  • UnitySendMessage 是一个 C 函数。也许你是从 C++ 调用它??也许你没有链接到 libiPhone-lib.a?
  • 感谢您的帮助,我不想在我的框架中链接到 libiPhone,因为我希望在最终的统一 iPhone 项目中提供它。还是不会包含在我的框架中?
  • 在您遇到错误的文件中尝试extern "C" void UnitySendMessage(const char*, const char*, const char*) __attribute__ ((weak));。或者尝试在您的链接器标志中添加-Wl,-undefined,dynamic_lookup。当然,忽略所有未定义的符号是很危险的。所以也许您可以忽略只是--unresolved-symbols=ignore-in-shared-libs 什么的。不太确定。

标签: ios objective-c unity3d


【解决方案1】:

执行以下操作:

1.转到编辑 --> 项目设置 --> 播放器 --> 其他设置 --> 脚本后端。将其更改为 IL2CPP

如果已经设置为 IL2CPP,请将其切换为 Mono,然后再返回 IL2CPP。

构建和测试。如果这不起作用,请转到#2。

2.转到编辑 --> 项目设置 --> 播放器 --> 其他设置 --> 架构。将其更改为 ARM64 而不是 Universal 或 ARMv7。

【讨论】:

  • 感谢您的帮助我不能做#1,因为我在我正在构建的框架中,而不是统一的 ios 项目。我会尝试#2,但我假设它只会做同样的事情
  • 任何人找到了这个问题的答案,同样的事情发生在我身上,我无法解决这个问题。
猜你喜欢
  • 2012-08-21
  • 1970-01-01
  • 2012-08-02
  • 2019-12-16
  • 1970-01-01
  • 2018-01-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多