美文网首页
Ubuntu下编译Cocos 2d-x-3.6 Linux工程

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

作者: 夜雨归人 | 来源:发表于2017-02-13 14:27 被阅读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下调通,才算是全部大功告成。

    相关文章

      网友评论

          本文标题:Ubuntu下编译Cocos 2d-x-3.6 Linux工程

          本文链接:https://www.haomeiwen.com/subject/ksbzittx.html