我有一个静态库,我已经在我的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
有什么想法吗?
答案 0 :(得分:0)
原来它与我的Xcode设置无关,事实上,我的Xcode设置是正确的。这是与我的特定代码相关的错误。
为了将来的参考,lipo -info myStaticLib.a对确定架构支持非常有用。