2013-03-01 116 views
0

我可以找到关于此的说明/教程,因为Xcode在每个发行版中都会更改构建设置等,所以无法正常使用。有没有人在Xcode 4.6中完成这项工作?我有一个项目需要有一些Cocos2d视图。我也需要Box2d。如何将Cocos2d和Box2d添加到现有的Xcode 4.6项目

这是我所做的。

- 基于带有Box2d模板的Cocos2d创建一个新项目。关闭这个项目。

- 导航到Finder中新应用程序的cocos2d项目文件夹。在cocos2d项目文件夹中找到名为libs的子文件夹。将libs文件夹拖到我当前的项目中。

- 添加了所有必要的库

起初找不到kazmath.h。我修正了这一点。然后它找不到Box2d碰撞类。修正了。现在,我得到了CCActionCamera错误(ARC禁止自动释放):

@implementation CCOrbitCamera 
+(id) actionWithDuration:(float)t radius:(float)r deltaRadius:(float) dr angleZ:(float)z deltaAngleZ:(float)dz angleX:(float)x deltaAngleX:(float)dx 
{ 
    return [[[self alloc] initWithDuration:t radius:r deltaRadius:dr angleZ:z deltaAngleZ:dz angleX:x deltaAngleX:dx] autorelease]; 
} 

我觉得这将是错误的不尽的名单。我只希望有一种方法可以简单地在一个项目中使用Cocos2d。

编辑#2:添加-fno-objc-arc标志,所有的cocos2d文件后:

Undefined symbols for architecture armv7s: 
    "_ExtAudioFileSetProperty", referenced from: 
     _CDloadCafAudioData in CDOpenALSupport.o 
    "_ExtAudioFileRead", referenced from: 
     _CDloadCafAudioData in CDOpenALSupport.o 
    "_AudioFileReadBytes", referenced from: 
     _CDloadWaveAudioData in CDOpenALSupport.o 
    "_ExtAudioFileDispose", referenced from: 
     _CDloadCafAudioData in CDOpenALSupport.o 
    "_AudioFileOpenURL", referenced from: 
     _CDloadWaveAudioData in CDOpenALSupport.o 
    "_AudioFileGetProperty", referenced from: 
     _CDloadWaveAudioData in CDOpenALSupport.o 
    "_ExtAudioFileGetProperty", referenced from: 
     _CDloadCafAudioData in CDOpenALSupport.o 
    "_AudioFileClose", referenced from: 
     _CDloadWaveAudioData in CDOpenALSupport.o 
    "_ExtAudioFileOpenURL", referenced from: 
     _CDloadCafAudioData in CDOpenALSupport.o 
    "_AudioSessionGetProperty", referenced from: 
     -[CDAudioManager isOtherAudioPlaying] in CDAudioManager.o 
     -[CDAudioManager isDeviceMuted] in CDAudioManager.o 
ld: symbol(s) not found for architecture armv7s 
clang: error: linker command failed with exit code 1 (use -v to see invocation) 
+0

我不明白你在这里问什么。你是说Cocos2d + Box2D项目在Xcode 4.6中破解了吗?哪个cocos2d版本?如果是这样,告诉我们错误是什么。 Xcode不会更改构建设置,编译器会更新并且通常会捕获比前一个更多的潜在问题。有时这可能会加剧,但知道编译器在检测有问题的代码方面越来越好,这真的很有帮助。 – LearnCocos2D 2013-03-01 22:25:07

+0

@ LearnCocos2D我其实正在尝试使用你的书。我编辑了我的问题以显示我已完成的步骤。有什么建议? – soleil 2013-03-01 22:37:07

+0

为armv7s问题简单地添加armv7s作为架构来构建所有目标的设置 – LearnCocos2D 2013-03-02 00:24:21

回答

0

让我们只专注于自己当前的错误,ARC禁止自动释放。 Cocos2D中使用手工引用计数,所以你有没有ARC(自动引用计数)编译的cocos2d:

转到您的项目设置,点击你的目标,去构建阶段,扩大编译源代码并选择所有你的cocos2d文件(以'CC'开头的文件)。按回车键,出现一个文本框,输入-fno-objc-arc。这告诉编译器不要使用ARC来处理这些文件。 现在希望这是最后一个错误,并编译。

+0

最后一个错误是因为我没有AudioToolbox框架,这在我发现的任何文档或教程中都没有提及。它终于编译了,但这个过程花了多长时间才发生。 – soleil 2013-03-01 23:09:41

相关问题