天天看點

cocos2d-x 開發環境搭建

1.在mac上配置cocos2d-x開發環境,xcode & eclispe

http://www.cnblogs.com/xiaodao/archive/2013/01/08/2850751.html

解壓縮cocos2d-x壓縮包,在終端中運作install-templates-xcode.sh安裝項目模闆,如果已經安裝了舊版本,舊版本将被覆寫。如果希望保留舊版本,可修改install-templates-xcode.sh内的安裝路徑,再執行。

2.更新cocos2dx2.0.4到2.1.1

發現在cocos2dx2.0.4在android平台下對CCFileUtils::sharedFileUtils()->fullPathFromRelativePath的實作幾乎是空,2.1.1有所改進,于是決定更新。

主要步驟有:替換解壓後的cocos2dx目錄,注意修改其中的幾個檔案中的環境變量值,還有其中的工程不要删除了。

/Users/gzty1/Library/Developer/Xcode/Templates目錄下的cocos2d-x模闆檔案夾可以删除掉,然後重新安裝xcode-cocos2dx模闆。

xcode工程的Build settigng\Proprocesson Macros下要定義預處理宏:CC_TARGET_OS_IPHONE,否則編譯報#error "Cannot recognize the target platform; are you targeting an unsupported platform?"

工程下的libs目錄中替換為最新的三個目錄:cocos2dx,CocosDenshion,extensions

重新編譯工程,會發現一些檔案被删除了,CCPoint竟然不再繼承CCObject,開始為什麼 要繼承。

在win系統中還要再招行build-win32.bat,可能要執行很久。

2.android版本的cocos2dx項目工程大緻總結:

在eclipse中使用的jni調用生成的libgame.so,工程中的Activity繼承的是Cocos2dxActivity,而這些java檔案是由/cocos2dx/cocos2dx/platform/android中提供的;

android版本的cocos2dx項目工程需要由cocos2dx中的指令行來生成;

jni/hellocpp/main.cpp和上層目錄中的Classes中的工程c++代碼檔案一塊被編譯成libgame.so;

java代碼加載了libgame.so,然後隻是調用了main.cpp中的函數;

jni目錄中的.mk檔案隻和生成so有關系;

添加cdt,也許可以實作編輯c++代碼檔案,甚至編譯出so,但運作斷點調試c++檔案更不知道怎麼搞了;

待繼續研究

http://stackoverflow.com/questions/10273807/tips-of-how-to-programming-using-cocos2d-x-on-eclipse-for-android

http://blog.plicatibu.com/how-to-debug-cocos2d-x-and-java-code-using-eclipse/

http://blog.plicatibu.com/developing-with-cocos2d-x-for-android-on-linux/

待繼續研究 在eclipse中Run同時也編譯C++資源

http://www.cr173.com/html/17612_1.html

3.在eclipse中Run同時也編譯C++資源,即會自動調用工程中的uild_native.sh

在eclipse中選中項目名右鍵點選New=>Other,

在彈出對話框中選擇C/C++=>Convert to a C/C++Proejct(Adds C/C++ Nature)

在接下來一屏中選擇C++ Project以及 Project Type為Makefile project, Toolchains為Other

打開項目屬性頁面, c/c++ build中,修改Build command為

bash ${workspace_loc:/工程檔案夾名稱}/build_native.sh NDK_DEBUG=1 V=1

編譯,在控制台中"please define NDK_ROOT", 需要在Environment頁籤中添加NDK_ROOT環境變量。

點選Run, 會看到Console視窗會有編譯的輸出, 編譯成功. 運作成功.