我正在使用带有Box2d的cocos2d模板但是当我在我的项目中导入Box2d.h时它给了我错误 找不到cassert fiel 我有cocos2d版本2.0 请帮帮我
答案 0 :(得分:23)
确保所有项目的源代码文件都具有文件扩展名.mm而不是.m。或者将每个.m文件的类型设置为Objective-C ++。
答案 1 :(得分:1)
更改您的文件扩展名.mm就是这样
答案 2 :(得分:0)
更改xcode 4中的扩展名不起作用。而是从编译器默认设置构建设置(选项卡)并将C ++标准库设置更改为libc ++(LLVM ...)。
如果您现在构建它,则会收到错误消息,指出应用与iOS 5或更高版本不兼容。因此,请转到摘要(选项卡)并将部署目标更改为5.0。它现在应该成功构建。
答案 3 :(得分:0)
以下是我解决问题的方法。清理和重新创建项目对我来说似乎不是一个好主意。
网上有几个答案可以解决这个问题,但每个问题都无法解决问题。一个是在SO
cassert file not found but i use Box2d template,另一个是在cocos2d-iphone论坛上,
结合这两种建议对我有用 -
- 将所有您的(不是cocos2d或box2d文件,只是您的项目文件)从.m重命名为.mm
- 确保在每个文件的右窗格中,“Type”选项设置为“Default - Objective C ++ Source”
醇>
对我来说还有另一个问题,可能不是你的问题,我在CCLabelTTF使用以下签名
CCLabelTTF *title = [CCLabelTTF labelWithString:@"Hello" dimensions:CGSizeMake(720.0f, 880.0f) alignment:UITextAlignmentLeft fontName:@"Arial" fontSize:34];
这已被弃用,并在整个地方造成错误。我现在使用以下略微修改的版本并修复了错误 -
CCLabelTTF *title = [CCLabelTTF labelWithString:@"Hello" dimensions:CGSizeMake(720.0f, 880.0f) hAlignment:kCCTextAlignmentRight fontName:@"Arial" fontSize:34];
我最近发布的此修补程序可以在 - http://indiangamer.com/how-i-fixed-the-cocos2d-box2d-include-file-not-found-error/
找到答案 4 :(得分:0)
对于像我这样的人:我只是尝试重新打开一个非常老的xcode项目,并在卡塞特文件中遇到此错误。
只需将目标设置为一个新目标(在我的情况下为iOS 13),它就可以自动选择正确版本的c ++ stdlib,并且一切正常。