天天看点

Ubuntu 与 cocos2d-x



序:

不知不觉学习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查看是否可执行?

Ubuntu 与 cocos2d-x

技巧1:

打开终端窗口后,输入命令:apt-get install nautilus-open-terminal

系统即会自动安装,安装完成后,注销一下系统,重新运行后,就会发现右键中多了打开终端的选项了。

2. 新建项目:

Ubuntu 与 cocos2d-x

Linux下Python是默认安装的,可以直接到控制台(终端)-terminal 创建:

注意:1. Linux下执行需要前面加上“./”

  2. 三段:项目,包,语言

3. 初次编译:

到cocos2d-x的根目录:查看Makefile文件
Ubuntu 与 cocos2d-x

编译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安装与配置

Ubuntu 与 cocos2d-x
Ubuntu 与 cocos2d-x
点击绿箭头构建,会弹出:
Ubuntu 与 cocos2d-x
Hello World出现~
Ubuntu 与 cocos2d-x

5. 使用QT开发Cocos2d-x项目

添加C++类
Ubuntu 与 cocos2d-x

简单写一个场景,并把AppDelegate.cpp中的场景由HelloWorld替换为GameStart

构建出错:

:-1: error: collect2: error: ld returned 1 exit status

这是在Ubuntu上开发cocos2d-x上阻碍前进的关键的第二步

构建出错是ld-链接的问题,这个在Windows下用VS是不用去管的,但在Linux下需要去更改Makefile的文件

类似于移植安卓时需要把新的.cpp文件加入到.mk文件~

Ubuntu 与 cocos2d-x
再次构建OK

6. QT开发Cocos2d-x的一些关键问题

在使用ControlSwitch或9妹图等 来源于extension,

要包含头文件及使用命名空间,但一运行就报错:

6: error: cocos-ext.h: 没有那个文件或目录

 #include "cocos-ext.h"

                       ^

Ubuntu 与 cocos2d-x
这是在Ubuntu上开发cocos2d-x上阻碍前进的关键的第三步

在VS上的解决方法网上有很多资料,但Linux下使用QT查不到。。。。。。

在这个问题上自己研究了几个晚上,试着改Makefile,试着改QT-->选项,却一直没有找到解决方法。

直到昨晚我看视频,终于有讲到:

把samples\cpp\testcpp\proj.linux\Makefile拿出来与当前的做对比:
Ubuntu 与 cocos2d-x

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
默认添加的文件名都是小写的,把勾去掉!
Ubuntu 与 cocos2d-x