【Unity】打包编译错误:‘NativeArrayUnsafeUtility‘ does not contain a definition for ‘SetAtomicSafetyHandle‘

        我再代码里使用了 NativeArrayUnsafeUtility.SetAtomicSafetyHandle 这个 API,但是在打 Android 包的时候出现了编译错误:

        'NativeArrayUnsafeUtility' does not contain a definition for 'SetAtomicSafetyHandle'

        但实际上这个代码应该是存在的: 

        这就非常诡异了,而且我在国内网站查资料也没有说法,Unity 的官方文档也没有什么说法。之后我在国外论坛上看到有人报相同的错误:

NativeArrayUnsafeUtility seems to not work in builds - Unity ForumI've been using it for SetAtomicSafetyHandle. It works fine in editor, but when I attempt to build the project, I get a build error claiming that...https://forum.unity.com/threads/nativearrayunsafeutility-seems-to-not-work-in-builds.1153067/        说是需要加上 ENABLE_UNITY_COLLECTIONS_CHECKS 的宏:

#if ENABLE_UNITY_COLLECTIONS_CHECKS 
    NativeArrayUnsafeUtility.SetAtomicSafetyHandle(ref job.HeightMap1, AtomicSafetyHandle.Create());
    NativeArrayUnsafeUtility.SetAtomicSafetyHandle(ref job.HeightMap2, AtomicSafetyHandle.Create());
    NativeArrayUnsafeUtility.SetAtomicSafetyHandle(ref job.HeightMap3, AtomicSafetyHandle.Create());
    NativeArrayUnsafeUtility.SetAtomicSafetyHandle(ref job.HeightMap4, AtomicSafetyHandle.Create());
#endif

         按照论坛里的说法,这个 SetAtomicSafetyHandle 在打包出项目的时候是不需要的,只在编辑器下才需要这个操作。

        但是我还没有测试过真机是否正确,后面会测试下真机的结果,再补充上来。

.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值