0

我在这方面能找到的所有说明/教程都不起作用,因为 Xcode 在每个版本中都会更改构建设置等。有人在 Xcode 4.6 中做过这个吗?我有一个项目需要一些 Cocos2d 视图。我还需要Box2d。

这是我所做的。

- 基于 Cocos2d with Box2d 模板创建一个新项目。关闭此项目。

- 在 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)
4

1 回答 1

0

让我们只关注您当前的错误,ARC 禁止 autorelease。Cocos2d 使用手动引用计数,所以你必须在没有 ARC(自动引用计数)的情况下编译 cocos2d:

转到您的项目设置,单击您的目标,转到Build Phases,展开Compile Sources并选择所有 cocos2d 文件(以“CC”开头的文件)。按回车,出现一个文本框,输入-fno-objc-arc. 这告诉编译器不要对这些文件使用 ARC。现在希望这是最后一个错误并点击编译。

于 2013-03-01T22:45:32.307 回答