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

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

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

项目工程文件如下:

d5c809f5f9d72b21bef5058b43684c3e.png

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

projects文件夹内容如下:

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

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

669a6e77b4f85dbf63257bf734f9b07b.png

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

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

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

ea7d3596f4da7181f86a0f9eed42de83.png

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

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

006cb3e6aebf01b39dcaf994d411d60a.png

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

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

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

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

0b1331709591d260c1c78e86d0c51c18.png

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值