iphone--语音合成 引入iFlyTTS.framework报错

最近在做语音输入和语音合成的功能,选了第三方 迅飞的语音识别 需要引入两个库iFlyTTS.framework和iFlyISR.framework,一开始引入了iFlyISR.framework使用后没有什么问题,但再加入iFlyTTS.framework就开始报错,在网上找了一下,原来了自己之前引入的静态库用到类别因此自己在工程的Other Linker Flag设置为-ObjC -all_load参数(这个参数会强制所有的静态链接库都加载其中的category),在迅飞的那两个iFlylsR.framework 和iFlyTTS.framework中似乎也用到了类别,并且里边是iFlylsR.framework 和iFlyTTS.framework这两个库好像是用的同一个category(具体了不清楚),试了以下方法,成功解决

解决方案:修改链接参数(Other Linker Flag)
1.去掉-ObjC -all_load参数(这个参数会强制所有的静态链接库都加载其中的category);
2.改为逐一加载Three20的各个静态库,即修改链接参数(Other Linker Flag)为如下形式:

-force_load $(BUILT_PRODUCTS_DIR)/libUILib
.a 

-force_load $(BUILT_PRODUCTS_DIR)/libMDLib.a

感谢。。。http://dev.voicecloud.cn/bbs/forum.php?mod=viewthread&tid=4154

你可能感兴趣的:(linker)