3.1.1 unknown type name 'class'; did you mean 'Class'

程序编译, mac版顺利通过, 但是iOS版本怎么也通过不了, 编译出错, 用的版本是3.1.1


proj.ios_mac/../cocos2d/cocos/base/CCRef.h:41:1: error: unknown type name 'class'; did you mean 'Class'?
class Ref;
^
note: 'Class' declared here
/Users/xxx/proj.ios_mac/../cocos2d/cocos/base/CCRef.h:44:1: error: unknown type name 'class'; did you mean 'Class'?
class CC_DLL Clonable
....

请教各位我该如何处理呢, 谢谢

自己顶一下:7:

不得不再自己顶一下了:7:

具体是什么程序,代码呢,说的清楚一些。

用的是cocos2d-x 3.1.1, xcode 5.1.1, c++写的游戏, 编译过程中出错, 游戏代码感觉是没问题, mac版能够顺利编译运行, 但是iOS版编译的时候, cocos2d/cocos/base/CCRef.h这个文件老是报错, 如主贴里描述的那样, error: unknown type name ‘class’; did you mean ‘Class’, 编译过程就卡在这里无法继续进行了, 出错的是cocos2d引擎的代码部分, 不是我自己写的游戏代码

问题解决了吗,能否提示一下怎么解决,谢谢!

我也出现了同样的问题,我就新建了一个类叫Block 然后写了2个方法 block(); ~block(); 编译就会报ref里的错, 把这个类删除掉在加到工程就没问题 但关掉Xcode 在重新开就又会出现Ref报错。

版本 cocos2d-x 3.2 Xcode版本5.1.1

我刚才又试了一下,

1.新建项目,编译OK

2.复制HelloWorldScene一份 改名为Block没有任何方法 在编译 Ref报错

建议Clean一下再试试

我用的3.2版本也出现这个问题了,本来运行正常的,关了工程再次打开就出现这个问题了!有人知道怎么解决吗?莫名其妙就不识别class关键字了!

根据 7 楼的测试,我解决了; 解决方法就是自己创建的类不要叫 Block, 改一个名字就可以了; 应该是和OC里面的 __block 冲突了~!

感谢啊…。。。。。

果然。。我也有个类叫Block…

:14: :14: :14: :14: :14: :14: :14: … 原来如此

这里说下我是怎么解决这个unknown type name class问题的:

由于我的原生ios的代码里面用到了:
#import “AppDelegate.h”

导致我出现这样的错误。

原因是我在ios的.m文件中引入了上面的那行代码,导致AppDelegate文件的编译是按照oc来进行的。

然后这个文件在我原生的项目里面是这样的没问题。。
原生项目是这样的两个文件:
AppDelegate.h
AppDelegate.m

在我游戏文件里面也有一个这样的文件,叫做:

AppDelegate.h
AppDelegate.cpp

然后你懂的。。。。

用了oc的编译方式去编译了c++语法的文件。。。。