为 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 对于确定体系结构支持非常有用。
我有一个静态库,几个月来我一直将其集成到我的 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 对于确定体系结构支持非常有用。