问题描述
||
我有一个应用程序,它使用一些第三方库,例如Tesseract库。
该应用程序是使用SDK 4.0在Xcode 3中开发的,可以完美运行。
但是几天前,我决定升级Xcode和SDK。因此,我已经将XCode 4.0.2与SDK 4.3一起安装了。
当然,在升级之后,我已经使用SDK 4.3重建了所有相关的库,包括Tesseract。在构建过程中没有错误。一切都与在SDK 4.0下进行构建时相同。
但是,当我在模拟器(4.1、4.2、4.3)下运行该应用程序时,出现以下错误:
在iPhone中不存在的系统库中检测到尝试调用符号的尝试:
从映像APP_NAME中的函数_ZN9tesseract15TessdataManager4InitEPKci调用了fopen $ UNIX2003。
如果您在gdb中运行模拟器二进制文件时遇到此问题,请确保先“关闭外壳启动”。
我还使用ios 4.3在设备上尝试了该应用,该应用只是在同一位置崩溃。
但是该应用程序继续在模拟器/设备4.0下成功运行。
有谁知道问题是什么以及如何使我的应用程序在ios 4.1+下可运行?
解决方法
只是为了结束问题。
iPhone模拟器的所有库都应使用-mmacosx-version-min = 10.4选项进行构建。