Ubuntu 下配置/编译/运行 Cocos2dx项目

由于项目原因,需要把一个使用cocos2dx的项目放到Linux下运行(在Windows下使用VS编写,可以正常运行),晚上调试了大概3 ~4小时,终于把项目运行了起来。在这里记录一下注意的事项,方便自己也能提醒大家不要犯一样的错误。

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

项目工程文件如下:

Ubuntu 下配置/编译/运行 Cocos2dx项目

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

projects文件夹内容如下:

Classes文件夹中是项目的源文件,包括一些.h以及.cpp的源代码。

Resources文件夹中是项目的资源文件,包括一些图片和文本。

Ubuntu 下配置/编译/运行 Cocos2dx项目

而我们重点要关注的就是proj.linux文件夹,他其中的内容如下:

main.cpp是项目的主函数,其中包括了对上层的classes文件的调用。

build.sh以及makefile文件都是为项目的编译而作的,是我们重点关注的部分。

Ubuntu 下配置/编译/运行 Cocos2dx项目

我的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,感觉还是比较好用的。

附上一张终于运行成功的截图:

Ubuntu 下配置/编译/运行 Cocos2dx项目

今后还要更加深入的了解Linux~

6.Run as Android Application 即可,在proj.android的bin目录下会生成一个apk文件,至此移植结束。

--------------------------------------分割线 --------------------------------------

新里程碑:Cocos2d-x v3.0 正式版本发布!

Cocos2d基础及基本函数

Cocos2d 如何做 Android 适配

剖析Cocos2d-x之Action实现

Ubuntu下Cocos2d-x开发环境搭建及配置

--------------------------------------分割线 --------------------------------------

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/16164.html