一. 系统概览
操作系统:Fedora 19
开发IDE:Eclipse with ADT
二. 搭建过程
我下载的是3.11版本。
2. 安装依赖库文件
由于我的系统不是Ubuntu,所以需要手动地安装依赖库文件。
就我的系统而言,需要安装的库文件包括:(具体可以参考build目录下的install-deps-linux.sh文件中的依赖库列表)
$ yum install mesa-libGL-devel mesa-libGLU-devel
$ yum install freeglut-devel
$ yum install libXi-devel.x86_64
$ yum install libX11-devel.x86_84
$ yum install zlib-devel.x86_64
$ yum install glew-devel.x86_64
$ yum install fontconfig-devel.x86_64
$ yum install libpng-devel.i686
$ yum install libcurl-devel.x86_64
$ yum install libsqlite3x-devel.x86_64
$ yum install openssl-devel.x86_64
$ yum install libscrypt-devel.x86_64
3. 编译
运行
$ {your_cocos2dx_root}/tools/travis-scripts/install_glfw.sh
...
$ cd {your_cocos2dx_root}
$ mkdir linux-build
$ cd linux-build
$ cmake ../..
$ make
接下来就可以在该目录下的bin中看到成功编译的样例代码
$ cd bin/cpp-tests/
$ ./cpp-tests
4. Android环境初始化
$ ./setup.py
输入Android的SDK,NDK,ANT路径。接下来一步一步操作就行了。当出现下面的输出以后表明配置成功。
A backup file "/home/zhuxiao/.bashrc.backup1" is created for "/home/zhuxiao/.bashrc".
Please execute command: "source /home/zhuxiao/.bashrc" to make added system variables take effect
按照提示输入source命令后环境变量生效,输入命令
$ cocos -v
2.1
表明配置成功!
5. 生成简单的Android游戏项目
运行如下命令,建立MyGame游戏项目。其中MyGame是游戏名,-p指定游戏包名,-d指定路径,-l指定语言
$ cocos new MyGame -p com.your_company.mygame -l cpp -d NEW_PROJECTS_DIR
运行如下命令,编译并运行该 游戏应用
$ cocos run -p android -j 4
6. 将项目导入eclipse
将5中生成的项目导入到eclipse中,会出现依赖库不存在的问题。所以需要将其导入。(File->Import->Android->Existing Android Code Into Workspace->{cocos2d-x/cocos/platform/android/java})
将该library项目倒入eclipse中跟我们自己建立的game项目关联起来即可。(Properties->Android->Library->Add...)
接下来运行该项目即可
done!
1. 执行脚本install-deps-linux.sh出现问题
解决方法:该脚本的作用是自动检测并安装依赖库,这些命令和库名字都是Ubuntu系统下的,所以我们可以通过手动安装依赖库来解决这个问题。然后在运行[cocos path]/tools/travis-scripts/install_glfw.sh脚本
需要安装的库文件有
$ yum install libX11-devel libXmu-devel libXi mesa-libGLU mesa-libGLU-devel glew glew-devel libcurl libcurl-devel fontconfig fontconfig-devel
2. 连接出现问题
检查是否有依赖库文件没有安装,一般都是这个问题,比如我出现这个问题就是因为没有安装libX11-devel和glew-devel库文件。
3. cocos编译成功后,运行例子出现问题
解决方法:
1) 将动态链接库文件拷贝到/usr/local/lib/目录下
$ sudo cp <COCOS FOLDER LOCATION>/external/linux-specific/fmod/prebuilt/64-bit/libfmod.so /usr/local/lib/
$ sudo cp <COCOS FOLDER LOCATION>/external/linux-specific/fmod/prebuilt/64-bit/libfmodL.so /usr/local/lib/