将unity 5项目从windows移动到mac以实现iOS,结果是;未找到架构arm64的符号“;错误
我的电脑上有一个我在Unity 5中创建的游戏。它实现了视频广告的Vungle Unity插件。它在Android上运行得非常好,但当我复制了该项目,将其移动到mac上,将平台切换到iOS并尝试构建它时,我得到了一个错误:未找到架构arm64的符号 我已经研究了好几天了,却没有找到解决办法。Unity中的架构设置为universal,并设置为构建设备sdk。我正在尝试在iPhone5上进行测试。它在模拟器上运行良好,但在真正的设备上启动时就不行了 以下是我得到的完整错误:将unity 5项目从windows移动到mac以实现iOS,结果是;未找到架构arm64的符号“;错误,ios,iphone,xcode,ipad,unity3d,Ios,Iphone,Xcode,Ipad,Unity3d,我的电脑上有一个我在Unity 5中创建的游戏。它实现了视频广告的Vungle Unity插件。它在Android上运行得非常好,但当我复制了该项目,将其移动到mac上,将平台切换到iOS并尝试构建它时,我得到了一个错误:未找到架构arm64的符号 我已经研究了好几天了,却没有找到解决办法。Unity中的架构设置为universal,并设置为构建设备sdk。我正在尝试在iPhone5上进行测试。它在模拟器上运行良好,但在真正的设备上启动时就不行了 以下是我得到的完整错误: Undefined s
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) 将“死代码剥离”更改为否
4) 将$(继承的)添加到“其他链接器标志”
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后,请确保单击“符号链接Unity库”
在使用此复选框构建应用程序后,我能够使用所有模拟器并构建到设备。我没有任何复选框说明“符号链接统一库”。这是Unity Pro中包含的内容吗?@ErhanEmreEroglu我有Unity个人信息。它应该列在构建设置中,您可以在其中选择developmentbuild。如果它没有出现,我唯一能想到的是它可能在新版本中有所改变。我发现Symlink选项出现在Unity for Mac而不是Windows中。所以,这与专业与否无关…@ErhanemReorglu对,除非你有黑客软件,否则你需要一台mac来构建和测试iOS。