在網上找了很多資料,結果都是如果在Ubuntu下編譯Cocos2d-x內建的那幾個例子。剛開始對makefile不熟悉,結果弄了好久才弄好,在這裡記錄一下,順便也給那些有需要的人做一個參考,不要走太多的彎路。
首先運行create-android-project.sh建立一個新的項目,我比較喜歡把項目放在一起,比較好管理,所以我把建立的項目移動到目前使用者目錄下的Projects/Cocos2dx目錄下。
然後進入proj.Android/jni目錄下,開啟Android.mk,修改如下:
將:
COCOS2DX_ROOT="$DIR/../.."
改為:
COCOS2DX_ROOT="$DIR/../../../../cocos2d-x-2.1.5/" #相對於目前的目錄的cocos2d-x的目錄,這是我的目錄
修改完成後儲存以後就可以運行build_native.sh編譯Android下的項目了,如果提示NDK_ROOT沒有設定的話就使用export NDK_ROOT=(你的NDK的目錄,同樣也是相對於目前的目錄的位置),例如我的是export NDK_ROOT = ../../../../Android/ndk-r9
如果想在Ubuntu下直接編譯啟動並執行話,就按下面的方法:
先建立一個項目下建立一個檔案夾proj.linux,然後在proj.linux下建立一個main.cpp檔案,內容如下:
<stdlib.h><stdio.h><unistd.h><> main( argc, ***elgView =->setFrameSize(, CCApplication::sharedApplication()->View Code
這個代碼同樣,可以直接在例子中直接複製過來。
接著在proj.linux下建立一個Makefile,內容如下(也可以直接從cocos2d-x中的例子中複製一個過來,然後按自己的項目修改):
= -I.. -I../= main./Classes/AppDelegate./Classes/HelloWorldScene.= ../../../../cocos2d-x-. #相對於目前的目錄的cocos2d-/cocos2dx/proj.linux/+= -lcocos2d -= $(LIB_DIR)/libcocos2d.so $(LIB_DIR)/+= -I$(COCOS_ROOT)/CocosDenshion/--/%.o: %.--c $< -/%.o: ../%.--c $< -o $@View Code
最後在proj.linux目錄下執行命令: make DEBUG=1 all 即可。
當然,這些手動建造太麻煩,你也可以寫一個shell檔案來處理。