CCArmatureDataManager::addRelativeData在ios下出错

void CCArmatureDataManager::addRelativeData(const char *configFilePath)
{
if (m_sRelativeDatas.find(configFilePath) == m_sRelativeDatas.end())
{
m_sRelativeDatas = CCRelativeData(); //这里出错
}
}

建个空项目,然后里面加一句:

CCArmatureDataManager::sharedArmatureDataManager()->addArmatureFileInfo(“xx.ExportJson”);
xx.ExportJson可以不存在,这里还未到检查文件的地方。
ios的模拟器可以正常跑,但是真机上面这里会挂掉,在跟进去就是stl的代码了,不知道其他人有没有遇到这个问题。
我的设备是ios 5.0.1的

你好,请您说明下你说使用的版本信息吧,我们验证后会第一时间修复该问题。

你好,是cocos2dx-2.2.3

这个问题的确没有 碰到过, 不知道是不是 机器相关,
有其他设备测过么
在那里崩溃的话,看起来像是m_sRelativeDatas 没有被初始化?

晕倒,我今天用了另外一个mac,还是同一个iphone,就没问题了,难道是跟xcode的版本有关?

楼主可能和我遇到的问题一样。(http://www.cocoachina.com/bbs/read.php?tid=193951)
你看看在Xcode的项目设置中,Other C Flags和Other C++ Flags是不是有这项“-O2”?若有的话改为“-O0”或者直接删掉,再试试看还会出错不。

hi sanlvdafu,
昨晚出问题的mac晚点再试试。

不过我现在手头用的mac 的xcode是5.1.1,ios sdk7.1, 然后other c flags的debug也是设的-O2,设备是ios 5.0.1,测试结果是正常的

也许只在Xcode5.1中才会出现这个问题,我记得Xcode5.1.1的发布说明里好像有提到修复了一个LLVM编译器的Bug。不知道你出问题的Mac上装的是否是Xcode5.1?试过后记得把结果反馈一下哦,谢了。

hi sanlvdafu,
你说的都是对的。

出问题的mac上xcode是5.1的,把-O2去掉就可以在5.0.1设备上正常运行。
或者把xcode更新到最新的5.1.1,那-O2就保留也可以正常运行。

谢谢!