cocos2d-x3.2中将XCode开发的工程转移至VS2010中可能会出现的错误
2014-11-18 17:54
239 查看
网上有些代码是xcode写的,我们想在我们自己屌丝的vs上面运行,那要重新建工程,然后载入。但是万万
没想到在VS里新建工程再添加文件,编译后出现了好多错误。下面就把解决这些错误的方法写下来,与大家分享。
1.
首先要把文件格式用文本文件另存为Unicode格式,不然VS会报一些莫名其妙的错误。
2.
VS里不能用bzero函数,改为memset.
XCode:
//bzero(fileName, MAX_FILENAME_LENGTH); 改为:
VS:
memset(fileName, 0,MAX_FILENAME_LENGTH);
3.
XCode:
//_fade_in_outSprite->setBlendFunc((ccBlendFunc){GL_ONE,GL_ONE});
VS:
将上面的代码拆分为两部分
ccBlendFunc tempBlend = {GL_ONE, GL_ONE};
_fade_in_outSprite->setBlendFunc(tempBlend);
4.
获取随机数的函数改为srand()和rand()
XCode:
//arc4random()%6;
VS:
srand(time(NULL));
type = rand()%6;
修改完上面的问题之后,编译成功,游戏成功的运行了起来。可我还没来的及高兴,问题就又来了。我刚移动程序里的精灵,就弹出了一个运行时错误,类指针产生了偏移,非常诡异。我的心情顿时又跌入了谷底……但天无绝人之路,我发现了一条奇怪的警告:“cast between different pointer to member representations, compiler may generate incorrect code。”我google了一下,在这里找到了解决方法:http://msdn.microsoft.com/en-us/library/1s6193tt.aspx
于是,我按照文中所说将相关的精灵类(DiamondSprite)的基类继承顺序颠倒了一下:
XCode:
//classDiamondSprite : public cocos2d::CCObject, public cocos2d::SelectorProtocol { 改为:
VS:
class DiamondSprite : publiccocos2d::SelectorProtocol, publiccocos2d::CCObject{
编译运行,果然没有再次出现运行时错误。至此,我们已经成功的将工程从XCode转入VS中。
本人cocos2dx 2.x和3.x的源码淘宝地址(欢迎大家光顾):https://shop141567464.taobao.com/?spm=a313o.7775905.1998679131.d0011.pzUIU4
不懂的可以加我的QQ群: 239982941(cocos2d-x 3.x学习群)欢迎你的到来哦,看了博文给点脚印呗,谢谢啦~~
没想到在VS里新建工程再添加文件,编译后出现了好多错误。下面就把解决这些错误的方法写下来,与大家分享。
1.
首先要把文件格式用文本文件另存为Unicode格式,不然VS会报一些莫名其妙的错误。
2.
VS里不能用bzero函数,改为memset.
XCode:
//bzero(fileName, MAX_FILENAME_LENGTH); 改为:
VS:
memset(fileName, 0,MAX_FILENAME_LENGTH);
3.
XCode:
//_fade_in_outSprite->setBlendFunc((ccBlendFunc){GL_ONE,GL_ONE});
VS:
将上面的代码拆分为两部分
ccBlendFunc tempBlend = {GL_ONE, GL_ONE};
_fade_in_outSprite->setBlendFunc(tempBlend);
4.
获取随机数的函数改为srand()和rand()
XCode:
//arc4random()%6;
VS:
srand(time(NULL));
type = rand()%6;
修改完上面的问题之后,编译成功,游戏成功的运行了起来。可我还没来的及高兴,问题就又来了。我刚移动程序里的精灵,就弹出了一个运行时错误,类指针产生了偏移,非常诡异。我的心情顿时又跌入了谷底……但天无绝人之路,我发现了一条奇怪的警告:“cast between different pointer to member representations, compiler may generate incorrect code。”我google了一下,在这里找到了解决方法:http://msdn.microsoft.com/en-us/library/1s6193tt.aspx
于是,我按照文中所说将相关的精灵类(DiamondSprite)的基类继承顺序颠倒了一下:
XCode:
//classDiamondSprite : public cocos2d::CCObject, public cocos2d::SelectorProtocol { 改为:
VS:
class DiamondSprite : publiccocos2d::SelectorProtocol, publiccocos2d::CCObject{
编译运行,果然没有再次出现运行时错误。至此,我们已经成功的将工程从XCode转入VS中。
本人cocos2dx 2.x和3.x的源码淘宝地址(欢迎大家光顾):https://shop141567464.taobao.com/?spm=a313o.7775905.1998679131.d0011.pzUIU4
不懂的可以加我的QQ群: 239982941(cocos2d-x 3.x学习群)欢迎你的到来哦,看了博文给点脚印呗,谢谢啦~~
相关文章推荐
- cocos2d-x3.2中将XCode发展project转移到VS2010可能会发生错误
- 使用Cocos2D-x创建VS2010工程并引入box2d物理引擎,解决编译错误
- windwos 7和vs2010 c++ 下编译工程,出现错误fatal error C1189(VC6升VS2010时出现)
- 解决Xcode 6 beta 编译Cocos2d-x iOS项目失败 在Xcode 6 里编译 iOS项目时可能会失败,提示如下错误: Undefined symbols
- xcode新建工程时出现fatal: unable to auto-detect email address (got 'Rabstone@bogon.(none)')错误
- 从XCode添加File的错误Multiple errors occurred while copying the files分析Cocos2d-x在XCode工程中添加文件
- iOS工程中Xcode出现my mac 64-bit错误
- 【ios开发之疑难杂症】xcode运行出现SpringBoard 无法启动应用程序(错误:7)
- 开发技巧,为了避免拖拽文件出现无法到达工程中,应该是件文件直接拷贝的工程中,不要在xcode里面操作
- 关于cocos2d-x3.2在NDK10下编译出现的错误的解决方法
- 【OC易错】Xcode5.0新建OS X下的cmd工程后出现编译错误clang: error: invalid version number in '-mmacosx-version-min=
- iOS开发时,出现“xcode cannot run using the selected device“错误
- cocos2d-x 在IDE vs2010 出现error C2146: 语法错误: 缺少“;”(在标识符“PVOID64”的前面)编译错误解决方案
- vs2010配置cocos2d-x出现的错误及解决方法
- 用VC2008打开由vc6.0编写的工程,可能会出现的错误
- 新建cocos2d-x工程时出现的错误
- iOS工程中Xcode出现my mac 64-bit错误
- 在VS2010 下编译 cocos2d-x-2.1.4出现的两个...:VCEnd”已退出,代码为 4错误解决办法
- Xcode工程使用CocoaPods管理第三方库新建工程时出现错误
- VS2010编译cocos2d出现 LNK1123: 转换到 COFF 期间失败: 文件无效或损坏 错误