Ubuntu下编译Cocos 2d-x-3.6 Linux工程

2017-02-13  本文已影响0人  夜雨归人

前言

上周末把一个3.4的项目升级到3.6,并且在windows下用VS2013调试好了,现在我们要把它在linux下调通,看看还有些什么坑。毕竟以前没在linux下做过开发,很多东西要学。

现在就开始学习的过程。

准备工作

首先打开项目根目录下的CMakeLists.txt,把GAME_SRC和GAME_HEADERS里面的内容替换成项目里面的.cpp和.h文件名。一堆文件得一个个弄啊,还好proj.win32下面的.vxproj文件里面也有这些东东,一个个拷贝过来吧。注意win32下的目录分隔符是”\“,linux下必须换成"/"。

然后再修改一下系统的包含目录。原来初始的只有这些东东:

include_directories(
  /usr/local/include/GLFW
  /usr/include/GLFW
  ${COCOS2D_ROOT}/cocos
  Classes
)

项目用到了Cocos Studio以及SimpleAudio,还得加上对应的路径:

include_directories(
  /usr/local/include/GLFW
  /usr/include/GLFW
  ${COCOS2D_ROOT}/cocos
  ${COCOS2D_ROOT}/cocos/audio/include
  ${COCOS2D_ROOT}/cocos/editor-support
  Classes
)

开始调试

cocos compile -p linux

报错如下:

/home/ace/Devlop/cross/cocos2d/cocos/editor-support/cocostudio/DictionaryHelper.h:28:27: fatal error: json/document.h: No such file or directory
#include "json/document.h"
^

查找一下,这个json/document.h在cocos2d/external目录下。再次修改CMakeLists.txt:

include_directories(
  /usr/local/include/GLFW
  /usr/include/GLFW
  ${COCOS2D_ROOT}/cocos
  ${COCOS2D_ROOT}/cocos/audio/include
  ${COCOS2D_ROOT}/cocos/editor-support
  ${COCOS2D_ROOT}/external
  Classes
)

再次编译,成功了。前面跑成功的Hello Word不能算,这是我第一次在linux下跑起来一个自己做的游戏,截图纪念一下。

Screenshot from 2017-02-13 14-18-14.png

总结##

  1. Linux下编译,CMakeLists是个很重要的文件,除了源文件和包含文件得一个个写进去以外,系统本身的一些包含文件路径得一个个加到include_directories,我这里没有用到extensions以及cocos/networks的东东,如果用到了都得加进去。
  2. 如何将现有的文件名批量添加进来,是一个值得研究的问题。不知道有没有工具可以直接添加,或者自己用python/lua甚至c++来写个小工具完成这个事情,貌似也并不困难。
  3. 后续得将这个实战项目的Android项目在linux下调通,才算是全部大功告成。
上一篇下一篇

猜你喜欢

热点阅读