Himi 原创, 欢迎转载,转载请在明显处注明! 谢谢。
原文地址:http://blog.csdn.net/xiaominghimi/article/details/6779452
大家都知道Xcode中支持C、C++、Object-C3种语言的混编,在上一节Box2d中介绍过cocos2d封装的box2d是c++源码实现的,那么如果想让编译器混编,只需要将实现类的".m"格式修改成".mm"即可,这样编译器即可编译允许c、c++、oc的代码;
但是混编代码,在编译最容易出现也是最多的错误如下:
部分分析总结如下:
<wbr><wbr>1. (全局变量)static方法名重复-因为C语言里没有对象的概念,它的方法只要加入相应的.h文件就可以使用,所以,如果和C++ or Objective-C的静态方法重名了,那么环境无法区分,很明显,这个错误是编译时候的错误,而对于static的变量及方法是在编译的时候便被加入的,所以无法识别.</wbr></wbr>
<wbr><wbr>2. (命名空间)全局变量名重复,理由和上面是一样的,当然,如果是全局变量,建议在Objective-C的.m文件(当然现在被改成.mm了)中声名,不然,声明在.h中单独使用是没有问题的,如果直接引用了C or C++的.h,那么即使这时候全局变量不重复,也会出现上面的问题.</wbr></wbr>
<wbr><wbr>3. (主函数)含有多个main方法,main方法是程序的入口,如果有多个文件含有main方法,那么也会出现上面的问题.</wbr></wbr>
<wbr><wbr> 其实对于“failed with exit”的问题,总的来说,这个问题就是因为方法或是全局变量重复所导致的编译环境无法识别并编译 !所以童鞋们使用混编程序的时候要特别注意,最好的解决办法就是,如果你的项目后期有1/100000 的几率会使用混编进行(例如加入box2d开发包),那么就应该从项目一开始就将实现类修改成".mm"格式进行编译代码,防止后期复杂的各种混编问题;</wbr></wbr>
OK,这篇小结就到这里;
分享到:
相关推荐
ios游戏开发之cocos2d-oc最新学习笔记
《iOS5 cocos2d游戏开发实战(第2版)》免费P
【iOS-Cocos2d游戏开发之二十二 】CCSpeed实现CCAnimate动画进行时设置慢动作以及设置游戏加减速进行(塔防游戏必备)! http://blog.csdn.net/xiaominghimi/article/details/7009503
Cocos2d游戏开发教程(iOS5),ePUB类型电子书。 详细介绍了Cocos2d游戏开发涉及的方方面面。
用cocos2d 2开发iOS游戏 推荐英文好的童鞋学习
iOS 5 cocos2d游戏开发实战(第2版)
Cocos2d-x与Android交互(c++与java互调),与IOS交互(c++与objective c混编) 具体的代码请下载这个文件,里面有更详细的jni使用方法,包括传递基本数据类型,返回基本数据类型的值,及类型的转换。
cocos2d游戏开发教程中文版 1-13章全
【iOS-Cocos2d游戏开发】Cocos2d-iPhone动作Action-扩展动作 http://blog.csdn.net/tt5267621/article/details/7626450
【iOS-Cocos2d游戏开发】Cocos2d-iPhone动作Action-瞬时动作 http://blog.csdn.net/tt5267621/article/details/7624781
【iOS-Cocos2d游戏开发】Cocos2d-iPhone动作Action-组合动作 http://blog.csdn.net/tt5267621/article/details/7626137
cocos2d-x手机游戏开发(跨android/ios/wp7/wp8/windows 8平台) 游戏课程特点: ---------------------------------------------------------- 1、国内首创跨平台游戏开发 2、深度讲解Cocos2D-X并运用于实战 3、...
cocos2d游戏开发之旅,对于初学者有很大的帮助,跟着教程做可以学会很对初级的知识
12-IOS游戏开发Cocos2d.pdf
cocos2dx 2.x 开发示例游戏合集 效果展示: https://github.com/pdpdds/cocos2dx-dev/blob/master/img/snap0215.jpg https://github.com/pdpdds/cocos2dx-dev/blob/master/img/snap0216.jpg ...
iOS 5 cocos2d 游戏开发实战(第2版), 很不错的游戏开发入门教学用书
cocos2d游戏开发实战.pdf 全本 高清 如果学习cocos2d的童鞋 可以下来看看 一定可以学到 不少的知识。
【iOS-Cocos2d游戏开发】Cocos2d-iPhone动作Action-延时动作 http://blog.csdn.net/tt5267621/article/details/7625309
IOS游戏开发入门源码 Climbers 基于Cocos2D引擎的2D游戏,玩家需要使用手指操纵攀爬动作的一款游戏
【iOS-Cocos2d游戏开发】Cocos2d-iPhone动作Action-组合动作 http://blog.csdn.net/tt5267621/article/details/7626094