【发布时间】:2013-03-01 21:36:33
【问题描述】:
我在这方面能找到的任何说明/教程都不起作用,因为 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)
【问题讨论】:
-
我不明白你在这里问什么。你是说 cocos2d+Box2D 项目在 Xcode 4.6 中被破坏了吗? cocos2d哪个版本?如果是这样,请告诉我们错误是什么。 Xcode 不会更改构建设置,编译器会更新,并且通常会比前一个捕获更多潜在问题。这有时可能会加剧,但知道编译器在检测有问题的代码方面做得越来越好真的很有帮助。
-
@LearnCocos2D 我实际上正在尝试使用您的书。我编辑了我的问题以显示我已完成的步骤。有什么建议吗?
-
对于 armv7s 问题,只需添加 armv7s 作为架构来构建所有目标的设置
标签: xcode cocos2d-iphone box2d-iphone