使用 Xcode 7、Unity 5.2.3f1、iOS 9.1 基础 SDK 构建时出错

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/33865332/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-09-15 08:14:45  来源:igfitidea点击:

Errors when building with Xcode 7, Unity 5.2.3f1, iOS 9.1 base SDK

xcodeunity3d

提问by user1615898

I'm trying to build a sample Unity app with Xcode 7, Unity 5.2.3f1, iOS 9.1 base SDK, but get these compile errors when trying to run the app in Xcode. I already set scripting backend = IL2CPP, Architecture = Universal, but it did not help.

我正在尝试使用 Xcode 7、Unity 5.2.3f1、iOS 9.1 基础 SDK 构建示例 Unity 应用程序,但在尝试在 Xcode 中运行该应用程序时出现这些编译错误。我已经设置脚本后端 = IL2CPP,架构 = 通用,但它没有帮助。

Undefined symbols for architecture x86_64: "_CloseZStream", referenced from: _DeflateStream_Dispose_m2_129 in Bulk_System_0.o _DeflateStream_CloseZStream_m2_153 in Bulk_System_0.o (maybe you meant: _DeflateStream_CloseZStream_m2_153) "_CreateZStream", referenced from: _DeflateStream_CreateZStream_m2_152 in Bulk_System_0.o (maybe you meant: _DeflateStream_CreateZStream_m2_152) "_Flush", referenced from: _DeflateStream_Flush_m2_139 in Bulk_System_0.o _DeflateStream_Flush_m2_154 in Bulk_System_0.o (maybe you meant: _FtpDataStream_Flush_m2_546, _UnmanagedMemoryStream_Flush_m1_2462 , _NullStream_Flush_m1_2305 , _MemoryStream_Flush_m1_2229 , _FileStream_Flush_m1_2186 , _FileStream_FlushBuffer_m1_2191 , _FileStream_FlushBufferIfDirty_m1_2193 , _FileStream_FlushBuffer_m1_2192 , _XmlInputStream_Flush_m7_567 , _WebConnectionStream_Flush_m2_928 , _SynchronizedWriter_Flush_m1_2427 , _NetworkStream_Flush_m2_227 , _GZipStream_Flush_m2_162 , _DeflateStream_Flush_m2_139 , _StreamWriter_FlushBytes_m1_2354 , _DeflateStream_Flush_m2_154 , _TlsStream_Flush_m3_798 , _SslStream_Flush_m2_202 , _TextWriter_Flush_m1_2415 , _StreamWriter_Flush_m1_2353 , _SslStreamBase_Flush_m3_726 , _UnexceptionalStreamWriter_Flush_m1_2447 ) "_ReadZStream", referenced from: _DeflateStream_ReadInternal_m2_134 in Bulk_System_0.o _DeflateStream_ReadZStream_m2_155 in Bulk_System_0.o (maybe you meant: _DeflateStream_ReadZStream_m2_155) "_UnityADBannerViewFailedToLoad", referenced from: -[UnityADBanner bannerView:didFailToReceiveAdWithError:] in iAD.o "_UnityADBannerViewWasClicked", referenced from: -[UnityADBanner bannerViewActionDidFinish:] in iAD.o "_UnityADBannerViewWasLoaded", referenced from: -[UnityADBanner bannerViewDidLoadAd:] in iAD.o "_UnityADInterstitialADWasLoaded", referenced from: -[UnityInterstitialAd interstitialAdDidLoad:] in iAD.o "_UnityBindFramebuffer", referenced from: _CreateSystemRenderingSurfaceGLES in GlesHelper.o _DestroySystemRenderingSurfaceGLES in GlesHelper.o _CreateRenderingSurfaceGLES in GlesHelper.o _DestroyRenderingSurfaceGLES in GlesHelper.o _CreateSharedDepthbufferGLES in GlesHelper.o _CreateField in Minesweeper_PreparePresentGLES in GlesHelper.o "_UnityBlitToBackbuffer", referenced from: _PreparePresentGLES in GlesHelper.o "_UnityCaptureScreenshot", referenced from: _PreparePresentGLES in GlesHelper.o

对于建筑x86_64的未定义符号: “_CloseZStream”,从引用:在Bulk_System_0.o(也许你的意思是:_DeflateStream_CloseZStream_m2_153)在Bulk_System_0.o _DeflateStream_CloseZStream_m2_153 _DeflateStream_Dispose_m2_129 “_CreateZStream”,从引用:在Bulk_System_0.o _DeflateStream_CreateZStream_m2_152(也许你的意思是:_DeflateStream_CreateZStream_m2_152)“ _Flush”,从引用:在Bulk_System_0.o在Bulk_System_0.o _DeflateStream_Flush_m2_154 _DeflateStream_Flush_m2_139(也许你的意思是:_FtpDataStream_Flush_m2_546,_UnmanagedMemoryStream_Flush_m1_2462,_NullStream_Flush_m1_2305,_MemoryStream_Flush_m1_2229,_FileStream_Flush_m1_2186,_FileStream_FlushBuffer_m1_2191,_FileStream_FlushBufferIfDirty_m1_2193,_FileStream_FlushBuffer_m1_2192,_XmlInputStream_Flush_m7_567,_WebConnectionStream_Flush_m2_928,_SynchronizedWriter_Flush_m1_2427,_NetworkStream_Flush_m2_227,_GZipStream_Flush_m2_162,_DeflateStream_Flush_m2_139,_StreamWriter_FlushBytes_m1_2354,_DeflateStream_Flush_m2_154,_TlsStream_Flush_m3_798,_SslStream_Flush_m2_202,_TextWriter_Flush_m1_2415,_StreamWriter_Flush_m1_2353,_SslStreamBase_Flush_m3_726,_UnexceptionalStreamWriter_Flush_m1_2447) “_ReadZStream”,从引用:_DeflateStream_ReadInternal_m2_134在Bulk_System_0.o _DeflateStream_ReadZStream_m2_155在Bulk_System_0.o(也许你意思是:_DeflateStream_ReadZStream_m2_155)“_UnityADBannerViewFailedToLoad”,引用自:-[UnityADBanner bannerView:didFailToReceiveAdWithError:] in iAD.o“_UnityADBannerViewWasClicked",引用自:-[UnityADBannerbannerViewActionDidFinish:] in iAD.o "_UnityADBannerViewWasLoaded",引用自:-[UnityADBanner bannerViewDidLoadAd:] in iAD.o "_UnityADInterstitialADWasLoaded",引用自:iAD.o "_UnityADInterstitialADWasLoaded",引用自:iAD.o"_UnityADBannerbannerViewWasLoaded" “_UnityBindFramebuffer”,引用自: GlesHelper.o 中的 _CreateSystemRenderingSurfaceGLES GlesHelper.o 中的 _DestroySystemRenderingSurfaceGLES GlesHelper.o 中的 _CreateRenderingSurfaceGLES GlesHelper.o 中的 _DestroyRenderingSurfaceGLES GlesHelper.o 中的 _CreateSharedDepthHelper.o 中的 _CreateSharedDepthFieldES引用自:-[UnityADBanner bannerViewDidLoadAd:] 在 iAD.o“_UnityADInterstitialADWasLoaded”中,引用自:-[UnityInterstitialAd interstitialAdDidLoad:] 在 iAD.o“_UnityBindFramebuffer”中,引用自:GlesHelper.o中的_CreateSystemRenderingSurfaceGLES in GlesHelperSurfaceGLES in GlesHelper.o .o _DestroyRenderingSurfaceGLES 在 GlesHelper.o _CreateSharedDepthbufferGLES 在 GlesHelper.o _CreateField 在引用自:-[UnityADBanner bannerViewDidLoadAd:] 在 iAD.o“_UnityADInterstitialADWasLoaded”中,引用自:-[UnityInterstitialAd interstitialAdDidLoad:] 在 iAD.o“_UnityBindFramebuffer”中,引用自:GlesHelper.o中的_CreateSystemRenderingSurfaceGLES in GlesHelperSurfaceGLES in GlesHelper.o .o _DestroyRenderingSurfaceGLES 在 GlesHelper.o _CreateSharedDepthbufferGLES 在 GlesHelper.o _CreateField 在o GlesHelper.o 中的_DestroySystemRenderingSurfaceGLES GlesHelper.o 中的_CreateRenderingSurfaceGLES GlesHelper.o 中的_DestroyRenderingSurfaceGLES GlesHelper.o 中的_CreateSharedDepthbufferGLES GlesHelper.o 中的_CreateFieldo GlesHelper.o 中的_DestroySystemRenderingSurfaceGLES GlesHelper.o 中的_CreateRenderingSurfaceGLES GlesHelper.o 中的_DestroyRenderingSurfaceGLES GlesHelper.o 中的_CreateSharedDepthbufferGLES GlesHelper.o 中的_CreateFieldGlesHelper.o 中的扫雷器 _PreparePresentGLES “_UnityBlitToBackbuffer”,引用自:GlesHelper.o 中的 _PreparePresentGLES “_UnityCaptureScreenshot”,引用自:GlesHelper.o 中的 _PreparePresentGLES

采纳答案by Leo

I solved this issue by checking "Symlink Unity Library" in Build Settings and made sure the build is for device, not simulator.

我通过检查构建设置中的“Symlink Unity Library”解决了这个问题,并确保构建是针对设备的,而不是模拟器。

回答by gollumullog

I had this error because my iOS device changed from an iphone 5 to a generic iOs device I assume because the cord wasn't high quality and it lost connection.

我遇到此错误是因为我的 iOS 设备从 iphone 5 更改为通用 iOs 设备,我认为是因为电源线质量不高,而且连接丢失。

If XCode loses connection it tries to build for a generic device.

如果 XCode 失去连接,它会尝试为通用设备构建。

I just reconnected the phone and rebuilt fixed my issue.

我刚刚重新连接手机并重建修复了我的问题。

回答by Seeler99

In order to get rid of this errors and run the game on the simulator:

为了摆脱这个错误并在模拟器上运行游戏:

In Unity go to Edit > Project Settings > Playerit will open Player Settings in the inspector. Then select the IOS platform and Other Settings >Target SDK > Simulator SDK.

在 Unity 中,转到“编辑”>“项目设置”>“播放器”,它将在检查器中打开“播放器设置”。然后选择IOS平台和Other Settings >Target SDK > Simulator SDK

This solved the 200 linking errors saying "Undefined symbols for architecture x86_64" and it works on the simulator.

这解决了 200 个链接错误,提示“架构 x86_64 的未定义符号”,并且它可以在模拟器上运行。

回答by Uday Sravan K

with Unity 5.4.03f I was getting unity xcode undefined symbols for architecture arm64

使用 Unity 5.4.03f 我得到了架构 arm64 的统一 xcode 未定义符号

To solve it, I have downgraded my unity to 5.3.5f1 personal . With player settings Scripting backend:IL2CPP and Architecture:Universal with xcode 7.3.1.

为了解决这个问题,我将我的 unity 降级为 5.3.5f1 personal 。使用播放器设置 Scripting backend:IL2CPP 和 Architecture:Universal with xcode 7.3.1。

You can check size of libiPhone-lib.a to identify the difference of compiling with both unity versions.

您可以检查 libiPhone-lib.a 的大小以识别使用两个统一版本编译的差异。