您的位置:首页 > 运维架构 > Linux

cocos2d-x for linux的编译和运行

2011-08-29 11:10 405 查看
从关注cocos2dx开始就很想有一个linux版,很多人觉得没什么意义 游戏开发不管怎么样都要用到windows平台,linux编程也不是游戏程序员的必修课.

但我个人比较喜欢linux 在linux这个完全gcc的环境下比在windows上模拟一个gcc环境开发android游戏要轻松的多(google不喜欢微软.我也不太喜欢),、

另外,任何成熟的开源跨平台游戏引擎都支持linux,甚至是在unix环境下开发出来的.帮助cocos2dx补上这个窟窿,我觉得还是挺值得。

eclipse也是我长久以来的爱,从大学时代的java编程到现在的c++开发我的IDE基本没怎么变过就是eclipse。eclipse3.7 CDT功能和vs功能相比较,可能有过之而无不及吧,(3.7也部分支持像java一样的自动查错的功能,就是还有bug),linux版做出来我还可以移到cgywin的windows模拟环境中,和macosx的gcc环境中,eclipse对这些平台都支持的不错.

在ubuntu下linux版已经基本成型(至少能完成大部分的功能),除了中文的支持(由于freetype要用unicode字符集和对中文进行一些特殊处理)

版本可以从github上git clone

具体命令:

git clone https://github.com/laschweinski/cocos2d-x.git
然后转具体的branch:

git checkout LinuxPort

增加了一些新的文件和文件夹

基本上还是按cocos2dx他们的做法作,文件夹的结构没有太大区别,(为此我放弃了把动态库文件和头文件放到/usr/lib里这个传统的linux方式.)只增加了些文件:

1. mycreate-android-project.sh 和 template/android/mycopy_files.sh 和create-android-project.sh 作用差不多,建立一个可以在别的文件夹下的android和linux共有的eclipse项目,

具体的作法下篇再说.这里涉及到一些android ndk standalone编译的作法

2. lib目录: 将编译好的各种cocos2dx的动态库或静态库放到该目录, 我不太喜欢,一个项目把引擎的源代码也引进来,clean以后就会重编译整个引擎和项目文件浪费时间.

3. cocos2dx/.cproject 和cocos2dx/.project (隐藏文件,打开后可以看到)eclipse的项目文件. eclipse下import cocos2dx进来可以看到项目. 同样,在HelloWorld,test CocosDenshion中 也有各自的这两个文件

4.cocos2dx/Debug, cocos2dx/Release.... eclipse编译出来的build文件夹 里面有makefile 可以make进行编译.

5. CocosDenshion里也类似也有eclipse的项目文件

依赖的库

和cocos2dx windows系统也依赖EGL和GLES不同 linux版依赖glfw用的也是opengl版而不是opengles版.

编译之前要先安装glfw这个库到系统

在ubuntu下可以

sudo apt-get install libglfw-dev

另外png也需要zlib的支持 但是一般的linux环境都有

声音依赖fmod库 gpl协议 所以linux版不能用于商业, 看重的是它的mp3格式的支持

该库是编译成动态库 所以最好要把它放到/usr/lib下

运行sudo sh installLinuxLib.sh 将该声音库文件引进去。

编译和运行:

我都在eclipse上编译,暂时没有给出传统的makefile的编译方式,用eclipse编译项目.

首先编译cocos2dx库

eclipse上File->import->exsisting projects

select root directory Path to cocos2dx/cocos2dx/proj.linux

编译之, 编译后会把编译后的动态库放到 Path to cocos2dx/lib/linux里

运行HelloWorld

引入项目:目录为:Path to cocos2dx/HelloWorld/linux

然后配置cocos2dx所安装的目录, 为了能找到头文件和库文件目录:

在项目右击preference-》c/c++ Build->Build variables 在变量那更改Value为: Path to cocos2dx/ 如下图



这里/home/laschweinski/git/cocos2d-x是我的cocos2d-x根文件夹

ps: 这里配置的这个项 之后用mycreate-android-project.sh 建立linux和android eclipse捆绑项目的时候,会把HelloWorld当作目录 复制项目文件 所以这里配置了,之后建项目也是有效的.

重新编译即可运行:(AndroidDebug和AndroidRelease 是给android用的,肯定失败)



编译运行test

引入项目:目录为:Path to cocos2dx/tests/test.linux

运行如图:





建立自己的项目和android standalone项目下篇介绍

另外对于调试cocos2dx的库文件,只要把库项目也一并放入的eclipse的workspace里,也是可以调试的

版本也不是最终版本,如果有修改我会在这里进行修改.。

我的处子博文 本来就对作文表达很怵的我表示压力很大。。。。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: