我能找到的所有说明/教程都不起作用,因为Xcode会更改每个版本的构建设置等。有人在Xcode 4.6中做过这个吗?我有一个项目需要有一些Cocos2d视图。我还需要Box2d。
这就是我所做的。
- 使用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 :(得分:0)
让我们只关注您当前的错误, ARC禁止自动释放。 Cocos2d使用手动引用计数,因此您必须编译cocos2d而不使用ARC(自动引用计数):
转到项目设置,点击目标,转到构建阶段,展开编译源,然后选择所有cocos2d文件(以“CC”开头的文件) 。按Enter键,出现一个文本框,输入-fno-objc-arc
。这告诉编译器不要对这些文件使用ARC。
现在希望这是最后一个错误并点击编译。