序:
不知不覺學習Cocos2d-x已經第2個月了,今天有些想法,于是難得停下一直根本停不下來的學習進度,寫點東西,記點事情~
目錄:
1. Linux(Ubuntu)安裝
2. Cocos解壓與建立項目
3. Makefile & make初次編譯
4. QT安裝與配置
5. 使用QT開發Cocos2d-x項目
6. QT開發Cocos2d-x的一些關鍵問題
7. summary
資源:
VMware 10. | |
Ubuntu 14.10 .iso | tieba.baidu.com/p/3584274583 |
QT for Linux | www.qt.io/download/ |
Cocos2d-x.zip | Cocos2d-x.org/download/ |
正文:
1. Ubuntu的虛拟機安裝:傻瓜式安裝即可;
注意:安裝時請關閉網絡連接配接,由于安裝會自動從網上下載下傳一些檔案,而預設的源速度極慢,運氣好2個小時安裝好,運氣不好1天都搞不定。
2. Cocos2d-x解壓:
可解壓至你喜歡的位置,然後進入目錄:cd到你的cocos2dx目錄/tools/project-creator
Chmod +x * 把檔案設為可執行,否則無效,ls檢視是否可執行?
![]() |
技巧1: 打開終端視窗後,輸入指令:apt-get install nautilus-open-terminal 系統即會自動安裝,安裝完成後,登出一下系統,重新運作後,就會發現右鍵中多了打開終端的選項了。 |
2. 建立項目:
|
Linux下Python是預設安裝的,可以直接到控制台(終端)-terminal 建立:
注意:1. Linux下執行需要前面加上“./”
2. 三段:項目,包,語言
3. 初次編譯:
到cocos2d-x的根目錄:檢視Makefile檔案 編譯Release和Debug: -make -make DEBUG=1 |
然後就報錯了: 首先是找不到GL/glfw.h ....... 這是因為沒有安裝支援的軟體造成的~ sudo apt-get install libglfw-dev |
安裝支援軟體: sudo apt-get update sudo apt-get install git ssh vim ctags qt-sdk build-essential libx11-dev libxmu-dev libglu1-mesa-dev libgl2ps-dev libxi-dev libglfw-dev libzip-dev libcurl4-gnutls-dev libfontconfig1-dev libsqlite3-dev libglew*-dev openjdk-7-jdk lib32z1 lib32ncurses5 lib32bz2-1.0 lib32stdc++6 由于中間如果有錯會跳出,建議是1~2個一起apt-get install |
有些可能沒有裝,例如: 再次make又報錯:lcurl 于是sudo apt-get install libcurl4-gnutls-dev 和libfontconfig1-dev 利用 sudo apt-cache search 尋找軟體包的方法很重要 |
說明:這是在Ubuntu上開發cocos2d-x上阻礙前進的關鍵的第一步
4. QT安裝與配置
|
|
點選綠箭頭建構,會彈出: |
Hello World出現~ |
5. 使用QT開發Cocos2d-x項目
添加C++類 |
簡單寫一個場景,并把AppDelegate.cpp中的場景由HelloWorld替換為GameStart 建構出錯: :-1: error: collect2: error: ld returned 1 exit status 這是在Ubuntu上開發cocos2d-x上阻礙前進的關鍵的第二步 |
建構出錯是ld-連結的問題,這個在Windows下用VS是不用去管的,但在Linux下需要去更改Makefile的檔案 類似于移植安卓時需要把新的.cpp檔案加入到.mk檔案~ |
再次建構OK |
6. QT開發Cocos2d-x的一些關鍵問題
在使用ControlSwitch或9妹圖等 來源于extension, 要包含頭檔案及使用命名空間,但一運作就報錯: 6: error: cocos-ext.h: 沒有那個檔案或目錄 #include "cocos-ext.h" ^ |
這是在Ubuntu上開發cocos2d-x上阻礙前進的關鍵的第三步 |
在VS上的解決方法網上有很多資料,但Linux下使用QT查不到。。。。。。 在這個問題上自己研究了幾個晚上,試着改Makefile,試着改QT-->選項,卻一直沒有找到解決方法。 直到昨晚我看視訊,終于有講到: |
把samples\cpp\testcpp\proj.linux\Makefile拿出來與目前的做對比: 1. 包含 include 缺少,找不到路徑 2. 把INCLUDES全複制過來,替換掉目前檔案的,再運作(報ld錯誤),這是沒有把庫連結上,需要把STATICLIBS也複制過來,但注意放的位置,放到紅箭頭位置,放到綠箭頭就還是報ld錯誤 3. 如果需要聲音庫cocosDenshion,那麼SHAREDLIBS和COCOS_LIBS也加進來 |
7. 小結
Windows + VS | Ubuntu + QT |
VS安裝包大:>3G | QT安裝包 600M |
VS安裝時間長達30分鐘以上 | QT安裝5分鐘 |
VS收費或破解版(社群版) | QT 開源版免費 |
VS 需要VAX小番茄助手(收費或破解) | QT 代碼提示等接近VS+VAX的水準 |
VS的.h 與 .cpp切換:alt+o | QT切換頭檔案 :F4 |
VS新加類後直接編譯 | 新加 .cpp檔案必須在Makefile中加入 |
VS使用其它庫不用特殊處理 | 需要在Makefile中更新INCLUDE和LIB |
快捷: 在一個分欄中,顯示目前檔案對應的頭檔案或.cpp檔案 先按下^E 再F4 | |
F12轉到定義 | F2 |
Shift +F2 在函數定義、實作中切換 | |
列選取 alt+選擇 | 列選取同VS |
預設添加的檔案名都是小寫的,把勾去掉! |