歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Ubuntu 下配置/編譯/運行 Cocos2dx項目

Ubuntu 下配置/編譯/運行 Cocos2dx項目

日期:2017/2/28 13:59:42   编辑:Linux教程

由於項目原因,需要把一個使用cocos2dx的項目放到Linux下運行(在Windows下使用VS編寫,可以正常運行),晚上調試了大概3 ~4小時,終於把項目運行了起來。在這裡記錄一下注意的事項,方便自己也能提醒大家不要犯一樣的錯誤。

我使用的是Ubuntu kylin 14.04 , cocos2dx版本是2.2.3。

項目工程文件如下:

已經包含了cocos2dx的文件包,自己的項目是在projects中。

projects文件夾內容如下:

Classes文件夾中是項目的源文件,包括一些.h以及.cpp的源代碼。

Resources文件夾中是項目的資源文件,包括一些圖片和文本。

而我們重點要關注的就是proj.linux文件夾,他其中的內容如下:

main.cpp是項目的主函數,其中包括了對上層的classes文件的調用。

build.sh以及makefile文件都是為項目的編譯而作的,是我們重點關注的部分。

我的makefile文件如下,僅供參考:

EXECUTABLE = TheDemo

INCLUDES = -I../ \
-I../../ \
-I../Classes \
-I$(COCOS_ROOT)/CocosDenshion/include \
-I$(COCOS_ROOT)/extensions/ \
-I$(COCOS_ROOT)/external/ \
-I$(COCOS_ROOT)/external/chipmunk/include/chipmunk
//這裡要注意要包含所有項目文件,對於我來說,就是上面所提到的classes文件夾的內容
SOURCES = main.cpp \
../Classes/AppDelegate.cpp \
../Classes/HelloWorldScene.cpp \
../Classes/eventManager.cpp \
../Classes/GameData.cpp \
../Classes/GameScene.cpp \
../Classes/levelselect.cpp \
../Classes/MyNodes.cpp

COCOS_ROOT = ../../..
include $(COCOS_ROOT)/cocos2dx/proj.linux/cocos2dx.mk

//這裡是一些lib文件以及庫文件,是參考cocos2dx的樣例項目寫的,就是這裡沒有搞對浪費了很長時間。
SHAREDLIBS += -lcocos2d -lcocosdenshion -lcurl -lpthread
COCOS_LIBS = $(LIB_DIR)/libcocos2d.so $(LIB_DIR)/libcocosdenshion.so

STATICLIBS += \
$(LIB_DIR)/libextension.a \
$(LIB_DIR)/libbox2d.a \
$(LIB_DIR)/libchipmunk.a
$(TARGET): $(OBJECTS) $(STATICLIBS) $(COCOS_LIBS) $(CORE_MAKEFILE_LIST)
@mkdir -p $(@D)
$(LOG_LINK)$(CXX) $(CXXFLAGS) $(OBJECTS) -o $@ $(SHAREDLIBS) $(STATICLIBS)

$(OBJ_DIR)/%.o: %.cpp $(CORE_MAKEFILE_LIST)
@mkdir -p $(@D)
$(LOG_CXX)$(CXX) $(CXXFLAGS) $(INCLUDES) $(DEFINES) $(VISIBILITY) -c $< -o $@

$(OBJ_DIR)/%.o: ../%.cpp $(CORE_MAKEFILE_LIST)
@mkdir -p $(@D)
$(LOG_CXX)$(CXX) $(CXXFLAGS) $(INCLUDES) $(DEFINES) $(VISIBILITY) -c $< -o $@

特別需要注意的是在編譯和鏈接的過程中如果出現無法對應或者缺少文件的情況。在項目文件以及庫文件確保完整的情況下多半是makefile文件沒有寫對。沒有包含一些文件目錄或者缺少lib文件。如果出現這樣的情況應該注意。

如果命令行操作比較麻煩的話使用IDE是很好的選擇,因為並不是非常了解ubuntu,還在學習過程中,調試這個項目使用的是Netbeans 8.0.2,感覺還是比較好用的。

附上一張終於運行成功的截圖:

今後還要更加深入的了解Linux~

6.Run as Android Application 即可,在proj.android的bin目錄下會生成一個apk文件,至此移植結束。

--------------------------------------分割線 --------------------------------------

新裡程碑:Cocos2d-x v3.0 正式版本發布! http://www.linuxidc.com/Linux/2014-04/100858.htm

Cocos2d基礎及基本函數 http://www.linuxidc.com/Linux/2014-02/97382.htm

Cocos2d 如何做 Android 適配 http://www.linuxidc.com/Linux/2013-05/84616.htm

剖析Cocos2d-x之Action實現 http://www.linuxidc.com/Linux/2013-04/82436.htm

Ubuntu下Cocos2d-x開發環境搭建及配置 http://www.linuxidc.com/Linux/2013-03/81876.htm

--------------------------------------分割線 --------------------------------------

更多Ubuntu相關信息見Ubuntu 專題頁面 http://www.linuxidc.com/topicnews.aspx?tid=2

Copyright © Linux教程網 All Rights Reserved