首頁 > 軟體

Ubuntu下編譯Cocos2D-X-3.6 Linux工程

2020-06-16 17:10:48

前言

把一個Cocos 2d-x-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下跑起來一個自己做的遊戲,截圖紀念一下。

總結

  1. Linux下編譯,CMakeLists是個很重要的檔案,除了原始檔和包含檔案得一個個寫進去以外,系統本身的一些包含檔案路徑得一個個加到include_directories,我這裡沒有用到extensions以及cocos/networks的東東,如果用到了都得加進去。
  2. 如何將現有的檔名批次新增進來,是一個值得研究的問題。不知道有沒有工具可以直接新增,或者自己用python/lua甚至c++來寫個小工具完成這個事情,貌似也並不困難。
  3. 後續得將這個實戰專案的Android專案在linux下調通,才算是全部大功告成。

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

Ubuntu 下設定/編譯/執行 Cocos2dx專案  http://www.linuxidc.com/Linux/2015-07/120723.htm

新里程碑: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

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


IT145.com E-mail:sddin#qq.com