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

Compiling static library for Unity 4.6.3 (64-bit & IL2CPP)

我有一个静态库,几个月来我一直将其集成到我的 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

有什么想法吗?

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

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