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里,也是可以调试的
版本也不是最终版本,如果有修改我会在这里进行修改.。
我的处子博文 本来就对作文表达很怵的我表示压力很大。。。。
但我个人比较喜欢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里,也是可以调试的
版本也不是最终版本,如果有修改我会在这里进行修改.。
我的处子博文 本来就对作文表达很怵的我表示压力很大。。。。
相关文章推荐
- 在linux中使用cmake编译运行cocos2d-x 3.4 projects
- Ubuntu编译运行cocos2d-x项目,导入Clion
- linux下vim配置之一键编译运行
- Linux下编译并运行C程序
- 在PC上运行的Cocos2d-x for XNA “Hello world”
- Linux下编译和运行c/c++
- cocos2d_x环境搭建过程和Android编译环境配置和项目创建运行过程
- Cocos2d-x for linux
- Linux预处理、编译、汇编、链接和运行的过程(包括一些基本的命令)
- Android 运行 C/C++程序 (使用 arm-linux-gcc 交叉编译环境)
- 轻量级web服务器lighttpd的编译及配置(for x86-linux)
- Windows下用Bochs编译运行Linux-0.11
- linux和Windows下用sublime text3编译运行C,C++
- linux编译运行C程序
- linux下如何编译运行c程序
- Matlab 独立运行程序编译(Linux)
- Linux下编译运行C程序
- Linux的下c++的编译运行
- iperf for Linux 在TOP6410上的交叉编译和使用
- (实训第一天)Linux下编译运行C源程序的过程(图解)