【问题标题】:Errors when building with Xcode 7, Unity 5.2.3f1, iOS 9.1 base SDK使用 Xcode 7、Unity 5.2.3f1、iOS 9.1 基础 SDK 构建时出错
【发布时间】:2015-11-23 07:02:10
【问题描述】:

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

架构 x86_64 的未定义符号:“_CloseZStream”, 参考自: Bulk_System_0.o 中的 _DeflateStream_Dispose_m2_129 Bulk_System_0.o 中的 _DeflateStream_CloseZStream_m2_153 (也许您的意思是:_DeflateStream_CloseZStream_m2_153)“_CreateZStream”,引用自: Bulk_System_0.o 中的 _DeflateStream_CreateZStream_m2_152 (也许您的意思是:_DeflateStream_CreateZStream_m2_152)“_Flush”,引用自: Bulk_System_0.o 中的 _DeflateStream_Flush_m2_139 Bulk_System_0.o 中的 _DeflateStream_Flush_m2_154 (也许你的意思是:_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”,从引用: Bulk_System_0.o 中的 _DeflateStream_ReadInternal_m2_134 Bulk_System_0.o 中的 _DeflateStream_ReadZStream_m2_155 (也许您的意思是:_DeflateStream_ReadZStream_m2_155)“_UnityADBannerViewFailedToLoad”,引用自: -[UnityADBanner bannerView:didFailToReceiveAdWithError:] in iAD.o "_UnityADBannerViewWasClicked",引用自: -iAD.o "_UnityADBannerViewWasLoaded" 中的[UnityADBanner bannerViewActionDidFinish:],引用自: -iAD.o“_UnityADInterstitialADWasLoaded”中的[UnityADBanner bannerViewDidLoadAd:],引用自: -[UnityInterstitialAd interstitialAdDidLoad:] in iAD.o "_UnityBindFramebuffer",引用自: GlesHelper.o 中的 _CreateSystemRenderingSurfaceGLES GlesHelper.o 中的_DestroySystemRenderingSurfaceGLES GlesHelper.o 中的_CreateRenderingSurfaceGLES _DestroyRenderingSurfaceGLES 在 GlesHelper.o GlesHelper.o 中的 _CreateSharedDepthbufferGLES _CreateField 在Minesweeper GlesHelper.o "_UnityBlitToBackbuffer" 中的_PreparePresentGLES,引用自: GlesHelper.o "_UnityCaptureScreenshot" 中的_PreparePresentGLES,引用自: _GlesHelper.o 中的PreparePresentGLES

【问题讨论】:

  • 有完全相同的问题;看起来与 5.2.3f1 有关。一切都在 5.2.2 上运行
  • 空项目也会出现同样的错误吗? _CloseZStream(和朋友)消息表明 Unity 附带的 zlib 本机库缺少某些内容。看起来还有一些图形和 Unity Ads 相关的问题。
  • 仅在 unity 5.2.3 中发生,降级到 5.2.2 可以解决此问题。

标签: xcode unity3d


【解决方案1】:

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

【讨论】:

  • 这也适用于我,但有没有办法为模拟器构建?
  • 为我解决了这个问题。谢谢。
  • @gollumullog 在 Unity 构建设置中
  • 在设备上运行而不是模拟器对我有用,有什么方法可以在模拟器上运行吗?
【解决方案2】:

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

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

我刚刚重新连接手机并重建解决了我的问题。

【讨论】:

    【解决方案3】:

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

    在 Unity 中转到 Edit > Project Settings > Player,它将在检查器中打开 Player Settings。然后选择IOS平台和Other Settings >Target SDK > Simulator SDK

    这解决了 200 个链接错误,即“架构 x86_64 的未定义符号”,它适用于模拟器。

    【讨论】:

      【解决方案4】:

      使用 Unity 5.4.03f 我得到 unity xcode undefined symbols for architecture arm64

      为了解决它, 我已将 unity 降级为 5.3.5f1 personal 。带有播放器设置 脚本后端:IL2CPP 和架构:通用 xcode 7.3.1。

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

      【讨论】:

        猜你喜欢
        • 2016-01-02
        • 2013-10-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-07-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多