[英]Compatibility between libraries built with different versions of XCode / iOS SDK?
I've moved a project from XCode 4 to XCode 5 and from building against iOS 6 SDK to iOS 7 SDK. 我已经将项目从XCode 4移至XCode 5,并且从针对iOS 6 SDK的构建移至iOS 7 SDK。 One of the libs I use, I have a prebuilt version targeting iOS 4.3 which worked fine in XCode 4. 我使用的库之一是针对iOS 4.3的预构建版本,该版本在XCode 4中运行良好。
In XCode 5, my app now runs fine on the iOS6 simulator, but I get a crash inside the library every time with iOS7 simulator. 在XCode 5中,我的应用程序现在可以在iOS6模拟器上正常运行,但是每次使用iOS7模拟器时,库内都会崩溃。 I'm looking to understand why this is and how different library builds are[n't] compatible with each other... the library is not using any iOS functionality as it's a cross-platform C++ lib, so why it would crash in one simulator but not the other is a bit perplexing. 我想了解这是为什么,以及不同的库构建之间如何不兼容……该库未使用任何iOS功能,因为它是跨平台的C ++库,所以为什么会崩溃一个模拟器而不是另一个模拟器有点困惑。
it's a cross-platform C++ lib 这是一个跨平台的C ++库
This might be your problem. 这可能是您的问题。 C++ does not have a stable ABI, so libraries should always be built using the compiler that builds the executable they're linked against. C ++没有稳定的ABI,因此应该始终使用编译器来构建库,该编译器将生成与其链接的可执行文件。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.