2013-03-01 117 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

相關問題