gpt4 book ai didi

ios - 将 unity 5 项目从 windows 移动到 mac 以实现 iOS 导致 "symbol(s) not found for architecture arm64"错误

转载 作者:塔克拉玛干 更新时间:2023-11-02 07:57:37 28 4
gpt4 key购买 nike

我的电脑上有一款使用 Unity 5 创建的游戏。它为视频广告实现了 Vungle Unity 插件。它在 Android 上运行得很好,但是当我复制项目,将其移动到我的 Mac,将平台切换到 iOS 并尝试构建它时,我收到错误:symbol(s) not found for architecture arm64 .

我已经研究了好几天了,但在找到解决方案时运气为零。 Unity 中的架构设置为通用,并设置为构 build 备 sdk。我正在尝试在 iPhone 5 上进行测试。它在模拟器上运行良好,只是在尝试在真实设备上启动时运行不佳。

这是我得到的完整错误:

Undefined symbols for architecture arm64:
"__vungleClearCache", referenced from:
_VungleBinding_clearCache_m756 in Bulk_Assembly-CSharp-firstpass_0.o
_VungleBinding__vungleClearCache_m755 in Bulk_Assembly-CSharp-firstpass_0.o
(maybe you meant: _VungleBinding__vungleClearCache_m755)
"__vungleClearSleep", referenced from:
_VungleBinding_clearSleep_m758 in Bulk_Assembly-CSharp-firstpass_0.o
_VungleBinding__vungleClearSleep_m757 in Bulk_Assembly-CSharp-firstpass_0.o
(maybe you meant: _VungleBinding__vungleClearSleep_m757)
"__vungleEnableLogging", referenced from:
_VungleBinding_enableLogging_m746 in Bulk_Assembly-CSharp-firstpass_0.o
_VungleBinding__vungleEnableLogging_m745 in Bulk_Assembly-CSharp-firstpass_0.o
(maybe you meant: _VungleBinding__vungleEnableLogging_m745)
"__vungleGetEndPoint", referenced from:
_VungleBinding__vungleGetEndPoint_m761 in Bulk_Assembly-CSharp-firstpass_0.o
(maybe you meant: _VungleBinding__vungleGetEndPoint_m761)
"__vungleIsAdAvailable", referenced from:
_VungleBinding_isAdAvailable_m748 in Bulk_Assembly-CSharp-firstpass_0.o
_VungleBinding__vungleIsAdAvailable_m747 in Bulk_Assembly-CSharp-firstpass_0.o
(maybe you meant: _VungleBinding__vungleIsAdAvailable_m747)
"__vunglePlayAdEx", referenced from:
_VungleBinding__vunglePlayAdEx_m750 in Bulk_Assembly-CSharp-firstpass_0.o
(maybe you meant: _VungleBinding__vunglePlayAdEx_m750)
"__vunglePlayAdWithOptions", referenced from:
_VungleBinding__vunglePlayAdWithOptions_m749 in Bulk_Assembly-CSharp-firstpass_0.o
(maybe you meant: _VungleBinding__vunglePlayAdWithOptions_m749, _VungleBinding__vunglePlayAdWithOptionsEx_m751 )
"__vunglePlayAdWithOptionsEx", referenced from:
_VungleBinding__vunglePlayAdWithOptionsEx_m751 in Bulk_Assembly-CSharp-firstpass_0.o
(maybe you meant: _VungleBinding__vunglePlayAdWithOptionsEx_m751)
"__vungleSetEndPoint", referenced from:
_VungleBinding__vungleSetEndPoint_m759 in Bulk_Assembly-CSharp-firstpass_0.o
(maybe you meant: _VungleBinding__vungleSetEndPoint_m759)
"__vungleSetSoundEnabled", referenced from:
_VungleBinding_setSoundEnabled_m744 in Bulk_Assembly-CSharp-firstpass_0.o
_VungleBinding__vungleSetSoundEnabled_m743 in Bulk_Assembly-CSharp-firstpass_0.o
(maybe you meant: _VungleBinding__vungleSetSoundEnabled_m743)
"__vungleStartWithAppId", referenced from:
_VungleBinding__vungleStartWithAppId_m741 in Bulk_Assembly-CSharp-firstpass_0.o
(maybe you meant: _VungleBinding__vungleStartWithAppId_m741)
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

我在这方面工作的时间太长了,但效果不是很好。以下是我尝试过的一些方法:

1) 将架构更改为标准架构 (armv7 arm64)

2) 将“仅构建事件架构”更改为否

3) 将“Dead code stripping”改为NO

4) 将 $(inherited) 添加到“其他链接器标志”

5) 确保将 VungleSDK.framework 添加到二进制链接中

9/26/15

根据我在网上阅读的所有内容,这些错误意味着我应该缺少一个框架,很可能是一个包含 VungleBinding 文件的框架。尽管 VungleBinding.m 文件不是框架的一部分,但如果我单独链接 VungleBinding.m 文件,我仍然会遇到这些错误。但是,此 VungleBinding.m 文件确实包含所提供的错误消息中引用的方法。

9/27/15

好吧,这太棒了……我现在意识到,唯一可以运行的模拟器是用于 iPhone 5 及更早版本的。比这更新的任何东西都会给我这个错误:

dyld: Symbol not found: _CloseZStream

最佳答案

就我而言,我能够通过执行以下操作解决此问题:

在 Unity 中构建适用于 iOS 的项目之前,将平台切换到 iOS 后,确保单击“Symlink Unity Libraries”。

在选中此选项构建应用程序后,我能够使用所有模拟器并构建到设备上。

关于ios - 将 unity 5 项目从 windows 移动到 mac 以实现 iOS 导致 "symbol(s) not found for architecture arm64"错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32802555/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com