转自:http://blog.csdn.net/software_lichaojie/article/details/8718777
在win32下,当点击退出按钮退出cocos2d-x程序时,调用的是
voidHelloWorld::menuCloseCallback(CCObject* pSender)
{
// "close" menu item clicked
CCDirector::sharedDirector()->end();
}
即可成功退出。今天移植代码到Xcode中,退出时总是抛异常,百思不得其解。后来,在Xcode下新建coco2d-x应用,点击退出按钮,没有任何错。然后查看代码,发现是这样写的。
voidHelloWorld::menuCloseCallback(CCObject* pSender)
{
// "close" menu item clicked
CCDirector::sharedDirector()->end();
#if (CC_TARGET_PLATFORM == CC_PLATFORM_IOS)
exit(0);
#endif
}
多了三行预处理命令。恍然大悟!原来如果为iOS平台,则需另外执行exit(0).cocos2d-x的移植性真是没有想象的那么简单啊,花费了数日,才真正移植成功。其中遇到了
1.头文件路径问题(解决方案,使用绝对路径)
2.资源文件读取不到(解决方案,参考:http://www.cnblogs.com/wt616/archive/2012/12/04/2800729.html,正确移植vs代码和资源到Xcode下)
3.横屏竖屏问题(解决方案见我之前博客);
再就是这个异常退出问题了,这几天搞的头都大了。总算现在有点眉目了。