为Unity 4.6.3编译静态库(64位和IL2CPP)

时间:2015-03-06 18:35:20

标签: ios unity3d 64-bit static-libraries arm64

我有一个静态库,我已经在我的Unity-iOS项目中集成了几个月了。对于Unity 4.3.x,一切都运行良好。

最近发布的Unity 4.6.3使用IL2CPP脚本后端和通用架构为64位设备构建,我的静态库不再有效。我只使用静态库构建了一个非常简单的Unity示例应用程序,它在运行时崩溃。

SDKTestApp(11555,0x199dff310) malloc: *** error for object 0x174287f2f: Invalid pointer dequeued from free list *** set a breakpoint in malloc_error_break to debug

请注意,项目编译得很好,但在应用程序加载并执行一些静态库函数后不久,它就会崩溃。这只是64位设备(iPhone 6,iPad Air等)的问题。

最后,这是我在(.a)文件上运行lipo -info myStaticLibrary.a时的输出:

myStaticLibrary.a: Mach-O universal binary with 3 architectures myStaticLibrary.a (for architecture arm64): current ar archive random library myStaticLibrary.a (for architecture armv7s): current ar archive random library myStaticLibrary.a (for architecture armv7): current ar archive random library

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

原来它与我的Xcode设置无关,事实上,我的Xcode设置是正确的。这是与我的特定代码相关的错误。

为了将来的参考,lipo -info myStaticLib.a对确定架构支持非常有用。